Метод 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,
который возвращает значение по умолчанию типа