Метод parse
Метод parse преобразует строку или строковый срез
в другой тип данных. Он возвращает значение типа
Result, которое содержит либо успешно
преобразованное значение, либо ошибку, если преобразование
невозможно. Параметров метод не принимает, однако тип,
в который нужно преобразовать строку, указывается явно
через аннотацию типа или через turbofish-синтаксис.
Синтаксис
str.parse::<T>()
Пример
Давайте преобразуем строку "12345" в число
типа i32:
fn main()
{
let res: i32 = "12345".parse().unwrap();
println!("{}", res);
}
Результат выполнения кода:
12345
Пример
Давайте преобразуем строку "12345" в число
с помощью turbofish-синтаксиса:
fn main()
{
let res = "12345".parse::<u32>().unwrap();
println!("{}", res);
}
Результат выполнения кода:
12345
Пример
Давайте попробуем преобразовать строку "abcde"
в число типа i32 и обработаем ошибку:
fn main()
{
let res = "abcde".parse::<i32>();
match res
{
Ok(n) => println!("Ok: {}", n),
Err(e) => println!("Err: {}", e),
}
}
Результат выполнения кода:
Err: invalid digit found in string
Пример
Давайте преобразуем строку "3.14" в число
типа f64:
fn main()
{
let res = "3.14".parse::<f64>().unwrap();
println!("{}", res);
}
Результат выполнения кода:
3.14
Пример
Давайте преобразуем строку "true" в значение
типа bool:
fn main()
{
let res = "true".parse::<bool>().unwrap();
println!("{}", res);
}
Результат выполнения кода:
true