Метод unwrap
Метод unwrap извлекает значение из типа Option.
Если вариант равен Some, метод возвращает
содержащееся внутри значение. Если же вариант равен
None, вызов метода приводит к панике
с сообщением об ошибке. Метод не принимает параметров.
Синтаксис
option.unwrap()
Пример
Давайте извлечем значение из переменной res,
которая содержит Some:
fn main()
{
let res = Some(12345);
let val = res.unwrap();
println!("{}", val);
}
Результат выполнения кода:
12345
Пример
Давайте попробуем извлечь значение из переменной,
которая содержит None. Это приведет к панике:
fn main()
{
let res: Option<i32> = None;
let val = res.unwrap();
println!("{}", val);
}
Результат выполнения кода:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value'