Rust中Option
枚举定义在标准库中,在prelude(预导入模块)
中,用来表示值可能存在(某种类型)或不存在的情况。
介绍
Rust 中没有 null
,因为若变量值为 null 时,当尝试像使用非 null 值使用 null 值的时候会报错(如:null point expection
)。但 Rust 中还需要因某种原因而变为无效或缺失的值。
Rust 中使用 Option<T>
实现类似其他语音 null
的功能。
定义
标准库中 Option 的定义:
enum Option<T> {
Some(T),
None,
}
说明:
T
表示泛型
- 由于
Option<T>
在标准库中,可以在代码中直接使用:Option<T>、Some<T>、None
T
和 Option<T>
是不同的类型,如需运算,需要转化为相同类型的值
- 优点:有效避免 null 值问题
示例
fn main() {
let five = Some(5);
let sh = Some("Shanghai");
let none: Option<i32> = None;
}