rust判断option是否为NULL
时间: 2023-10-09 09:08:21 浏览: 123
在 Rust 中,`Option<T>` 类型表示一个可能存在或可能不存在的值。要判断 `Option<T>` 是否为 `None`(空),可以使用模式匹配(`match`)或者使用 `is_none()` 方法。
1. 使用模式匹配(`match`)来判断 `Option<T>` 是否为 `None`:
```rust
fn main() {
let x: Option<i32> = Some(5);
let y: Option<i32> = None;
match x {
Some(value) => println!("x is Some({})", value),
None => println!("x is None"),
}
match y {
Some(value) => println!("y is Some({})", value),
None => println!("y is None"),
}
}
```
输出结果:
```
x is Some(5)
y is None
```
2. 使用 `is_none()` 方法来判断 `Option<T>` 是否为 `None`:
```rust
fn main() {
let x: Option<i32> = Some(5);
let y: Option<i32> = None;
if x.is_none() {
println!("x is None");
} else {
println!("x is Some({})", x.unwrap());
}
if y.is_none() {
println!("y is None");
} else {
println!("y is Some({})", y.unwrap());
}
}
```
输出结果:
```
x is Some(5)
y is None
```
无论是使用模式匹配还是使用 `is_none()` 方法,都可以判断 `Option<T>` 是否为 `None`。选择哪种方式取决于具体的场景和个人喜好。