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

Метод ok

Метод ok преобразует значение типа Result в значение типа Option. Если исходный результат содержит вариант Ok, метод возвращает Some с тем же значением. Если же исходный результат содержит вариант Err, метод возвращает None, полностью отбрасывая значение ошибки. Метод не принимает параметров и потребляет исходный результат.

Синтаксис

result.ok()

Пример

Давайте преобразуем результат Ok в опцию:

fn main() { let res: Result<i32, &str> = Ok(123); let opt = res.ok(); println!("{:?}", opt); }

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

Some(123)

Пример

Давайте преобразуем результат Err в опцию:

fn main() { let res: Result<i32, &str> = Err("error"); let opt = res.ok(); println!("{:?}", opt); }

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

None

Пример

Давайте используем метод ok вместе с unwrap_or, чтобы получить значение по умолчанию при ошибке:

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

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

0

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

  • класс Result,
    который представляет результат операции с возможной ошибкой
  • метод err,
    который преобразует Result в Option со значением ошибки
  • метод is_ok,
    который проверяет, содержит ли Result вариант Ok
  • метод is_err,
    который проверяет, содержит ли Result вариант Err
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить