Робота з Option
/Result
може бути достатньо стомлюючою, якщо ви хочете просто нашвидкоруч написати трохи коду. І Option
, і Result
мають функцію unwrap
, яка може бути корисна для швидкого і не акуратного отримання значення. unwrap
працює таким чином:
Option/Result
, якщо воно є.None
чи Err
, то метод виконає макрос panic!
.
Ці дві частини коду еквівалентні:my_option.unwrap()
match my_option {
Some(v) => v,
None => panic!("some error message generated by Rust!"),
}
Відповідно:
my_result.unwrap()
match my_result {
Ok(v) => v,
Err(e) => panic!("some error message generated by Rust!"),
}
Будь гарним розробником і правильно використовуй match
коли можеш!