РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
608 of 1245 menu

Метод unwrap_or

Метод unwrap_or извлекает значение из Option или Result. Если значение присутствует, возвращается оно. Если значение отсутствует (None или Err), возвращается значение по умолчанию, переданное параметром. Параметром метод принимает значение, которое нужно вернуть при отсутствии основного значения.

Синтаксис

option.unwrap_or(default) result.unwrap_or(default)

Пример

Давайте извлечём значение из Some с помощью метода unwrap_or:

fn main() { let opt = Some("abcde"); let res = opt.unwrap_or("12345"); println!("{}", res); }

Результат выполнения кода:

"abcde"

Пример

Давайте извлечём значение из None с помощью метода unwrap_or:

fn main() { let opt: Option<&str> = None; let res = opt.unwrap_or("12345"); println!("{}", res); }

Результат выполнения кода:

"12345"

Пример

Давайте извлечём значение из Ok с помощью метода unwrap_or:

fn main() { let res: Result<&str, &str> = Ok("abcde"); let res = res.unwrap_or("12345"); println!("{}", res); }

Результат выполнения кода:

"abcde"

Пример

Давайте извлечём значение из Err с помощью метода unwrap_or:

fn main() { let res: Result<&str, &str> = Err("error"); let res = res.unwrap_or("12345"); println!("{}", res); }

Результат выполнения кода:

"12345"

Смотрите также

  • метод unwrap,
    который извлекает значение или вызывает панику
  • метод expect,
    который извлекает значение или вызывает панику с сообщением
  • метод unwrap_or_else,
    который возвращает значение по умолчанию через замыкание
  • метод unwrap_or_default,
    который возвращает значение по умолчанию типа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить