Rust
Rust 基础篇 (九):枚举与模式匹配——消灭 Null 指针的设计哲学
Waitwalker2026-08-2511 min
## 1. 极其强大的带数据枚举
Rust 的枚举不仅是数字标记,还可以携带任意类型的数据(类似于代数数据类型 ADT):
```rust
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
ChangeColor(i32, i32, i32),
}
```
## 2. Option<T> 替代 Null
通过标准库的 `Option<T>`,编译器强制开发者在编译期显式处理为空的分支,彻底杜绝生产环境的 NullPointerException:
```rust
fn plus_one(x: Option<i32>) -> Option<i32> {
match x {
None => None,
Some(i) => Some(i + 1),
}
}
```
#Rust#枚举#模式匹配#类型系统
回到文章列表 →