1. 程式人生 > 其它 >【Rust】Result-結果

【Rust】Result-結果

環境

  • Rust 1.56.1
  • VSCode 1.61.2

概念

參考:https://doc.rust-lang.org/rust-by-example/error/result.html

示例

Result 和 Option 有點類似,不過它代表可能失敗,而不是可能不存在。

恐慌

fn multiply(first: &str, second: &str) -> i32 {
    let first_number = first.parse::<i32>().unwrap();
    let second_number = second.parse::<i32>().unwrap();
    first_number * second_number
}

fn main() {
    let twenty = multiply("10", "2");
    println!("double is {}", twenty);

    let tt = multiply("t", "2");
    println!("double is {}", tt);
}

在 main 中使用

use std::num::ParseIntError;

fn main() -> Result<(), ParseIntError> {
    let number = "10";
    let number = match number.parse::<i32>() {
        Ok(number) => number,
        Err(e) => return Err(e),
    };
    println!("{}", number);
    Ok(())
}

總結

瞭解了 Rust 中 Result 型別,一般是在可能發生錯誤的時候使用。

附錄