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

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

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

Заполненный вариант отдает данные без дополнительного разбора:

fn main() { let n = Some(3); let value = n.unwrap(); println!("{}", value); }

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

fn main() { let n: Option<i32> = None; let value = n.unwrap(); println!("{}", value); }

Дано необязательное значение с числом 7. Достаньте его в переменную и выведите на экран.

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

fn main() { let item: Option<i32> = None; let n = item.unwrap(); println!("{}", n); }

Скажите, дойдет ли выполнение до печати при запуске и чем отличается этот случай от ошибки сборки.

Запишите две переменные: одну с Some(5), другую с пустым Option<i32>. Из первой выведите число через извлечение, из второй не вызывайте метод на запуске и объясните, почему второй фрагмент опасен.

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