主题
枚举 Enums
枚举用于定义一组有限的可能值,常用于状态机、错误处理等场景。
定义枚举
rust
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
ChangeColor(i32, i32, i32),
}
使用枚举
rust
fn main() {
let msg = Message::Write(String::from("hello"));
match msg {
Message::Quit => println!("Quit"),
Message::Move { x, y } => println!("Move to ({}, {})", x, y),
Message::Write(text) => println!("Text message: {}", text),
Message::ChangeColor(r, g, b) => println!("Change color to RGB({}, {}, {})", r, g, b),
}
}
关联数据
枚举成员可以携带数据,支持多样化表达。
Option 枚举
Rust 标准库中的 Option<T>
是枚举的经典示例,用于表示有或无值:
rust
let some_number = Some(5);
let absent_number: Option<i32> = None;