РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
82 of 1245 menu

Оператор as

Оператор as выполняет явное преобразование значения из одного типа в другой. Он применяется к примитивным типам (числа, символы, булевы значения) и указателям. Левый операнд - это выражение, которое нужно преобразовать, а правый - целевой тип. В отличие от трейтов From и Into, оператор as не может завершиться ошибкой и не вызывает паники. Если значение не помещается в целевой тип, оно усекается или заменяется специальным значением.

Синтаксис

value as Type

Пример

Давайте преобразуем целое число i32 в число с плавающей точкой f64:

fn main() { let num = 5; let res = num as f64; println!("{}", res); }

Результат выполнения кода:

5.0

Пример

Давайте преобразуем число с плавающей точкой f64 в целое число i32. Дробная часть при этом отбрасывается:

fn main() { let num = 3.99; let res = num as i32; println!("{}", res); }

Результат выполнения кода:

3

Пример

Давайте преобразуем число u8 в символ char по коду ASCII:

fn main() { let num = 65; let res = num as char; println!("{}", res); }

Результат выполнения кода:

"A"

Пример

Давайте преобразуем большое число i32 в маленький тип u8. При переполнении значение усекается:

fn main() { let num = 300; let res = num as u8; println!("{}", res); }

Результат выполнения кода:

44

Пример

Давайте преобразуем булево значение bool в целое число i32:

fn main() { let flag = true; let res = flag as i32; println!("{}", res); }

Результат выполнения кода:

1

Смотрите также

  • трейт From,
    который выполняет безопасное преобразование типов
  • трейт Into,
    который преобразует значение в другой тип
  • трейт TryFrom,
    который выполняет преобразование с проверкой
  • трейт TryInto,
    который преобразует значение с возможной ошибкой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить