Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmErMc 313 of 373 menu
◀ ▶

Разбор результата в Rust

Значение типа Result разбирают через match так же, как перечисление. Слева стоит переменная с результатом, справа - ветки для удачного и неудачного варианта. Разбор обязан назвать оба исхода, иначе код не собирается.

В ветке удачи имя Ok связывают с числом или другим полезным значением. В ветке сбоя Err связывают с текстом или типом ошибки. Пример для целого и строки:

fn main() { let value: Result<i32, String> = Ok(12); match value { Ok(n) => println!("{}", n), Err(text) => println!("{}", text), } }

Если переменная уже хранит сбой, сработает вторая ветка:

fn main() { let value: Result<i32, String> = Err(String::from("fail")); match value { Ok(n) => println!("{}", n), Err(text) => println!("{}", text), } }

Дан следующий код:

let score: Result<i32, String> = Ok(5);

Разберите score и выведите число или текст сбоя в main.rs.

Дан следующий код:

let score: Result<i32, String> = Err(String::from("low"));

Разберите score и выведите на экран содержимое сработавшей ветки.

Скажите, сколько веток нужно в разборе Result<i32, String>, чтобы программа собралась.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить