Rust 語言之旅 目錄

醜陋的選項 (optino)/結果 (result) 處理

如果你只是想快速寫點程式,使用 Option/Result 可能會讓你覺得煩躁。 OptionResult 都有個函式稱作展開 (unwrap),它可以幫你迅速但骯髒的取得數值。 unwrap 將會:

  1. 取得選項 (optino)/結果 (result) 裡的數值
  2. 如果列舉 (enum) 是 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!"),
}

當個良好的 Rust 人,當你可以的時候,盡量正確的使用 match