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

Разбор необязательного значения в Rust

Полный разбор для этого типа устроен так же, как для своего перечисления: каждая ветка называет один вариант. Компилятор требует обе ветки, потому что значение может быть и заполненным, и пустым.

В ветке заполненного варианта число из скобок сразу получает имя, как при разборе варианта с данными:

let item = Some(40); match item { Some(n) => println!("{}", n), None => println!("empty"), }

Если переменная пустая, сработает вторая ветка. Убрать любую из двух нельзя: сборка остановится с сообщением о непокрытом варианте:

let item: Option<i32> = None; match item { Some(n) => println!("{}", n), None => println!("empty"), }

Дана переменная:

let score = Some(9);

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

Дана переменная:

let gap: Option<i32> = None;

Скажите, какая ветка разбора выполнится для gap.

Скажите, соберется ли программа, если в разборе только ветка для заполненного варианта.

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