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),
}