跳转至

Rust 标准库

1 Option

`Option` 是一个枚举,和C++17中新增的`optional`功能一致,通常用在函数可能返回空值的情况。

Option 定义如下,其中 T 是泛型参数,Some(T) 表示该枚举成员的数据类型是 T,换句话说,Some 可以包含任何类型的数据。

enum Option<T> {
    Some(T),
    None,
}

需要注意的几点如下: - 无需使用 Option:: 前缀就可直接使用 Some 和 None。 - 当使用 None 是需要显示指定类型 T,如: Option<i8>, 当使用 Some 会自动推到 - Option 值不能直接使用,需要 unwrap() 函数获取值。

#![allow(unused)]
fn main() {
    let x: i8 = 5;
    let y = Some(5);
    let z:Option<i8> = None;
    // unwrap()获取值,不能直接使用y
    let sum = x + y.unwrap();
    println!("{}",sum);
}

2 Result

`Result`通常用于函数执行返回成功或者失败的场景。

Result 定义如下:

enum Result<T, E> {
    Ok(T),
    Err(E),
}