17. Приведение типов
Приведение типов – это преобразование типа данных переменной в какой-либо другой тип данных. В Rust приведение типов выполняется с помощью ключевого слова
Приведение числовых типов данных
К примеру, приведем значение переменной типа i32 к типу f64:
fn main() {
let a: i32 = 15;
let b: f64 = (a as f64) / 2.4_f64;
println!("a: {}", a);
println!("b: {}", b);
}
В примере переменная a имеет тип integer 32 бита, и её значение требуется поделить на дробное число. Для совершения операции, мы должны привести все элементы выражения к единому типу.
Преобразование фиксированной строки в объект строки (&str -> String)
Это вы уже изучили, но повторим. Фиксированную строку можно преобразовать в Строку несколькими способами, например:
fn main() {
let my_str:&str = "Некий текст";
let my_string1: String = String::from(my_str);
let my_string2:String =my_str.to_string();
println!("{}", my_string1);
println!("{}", my_string2);
}
Преобразование объекта строки в фиксированную строку в (String -> &str )
fn main() {
let my_string: String = String::from("Некий текст");
let my_str:&str = my_string.as_str();
println!("{}", my_str);
}
Получение символа из целого беззнакового числа
Это преобразование возможно только для чисел u8, с помощью которых можно получить символы utf-8, т.е. английские буквы, цифры и знаки препинания.
fn main() {
let mut character: char;
let mut num:u8 = 0;
for _ in 0..255 {
num += 1;
character = num as char;
println!("Число {} в символ {}", num, character );
}
}
Невозможные приведения типов
Нельзя преобразовать символ в строку
fn main() {
let a: char = 'r' ;
let b = a as &str ;
}
Для просмотра заданий и решений, а также публикации своих решений необходимо зарегистрироваться на сайте.
Всё бесплатно, мы просто хотим с вами познакомиться и понять насколько актуально то, что мы делаем.