【rust】枚举
枚举
Option<T>
概览
enum Option<T> {
Some(T),
None,
}
-
Some(T)
:表示有值。 -
None
:表示无值(空值、未定义、找不到等)。
fn find_even(numbers: &[i32]) -> Option<i32> {
for &n in numbers {
if n % 2 == 0 {
return Some(n);
}
}
None
}
fn main() {
let nums = vec![1, 3, 5, 8, 9];
match find_even(&nums) {
Some(val) => println!("Found even number: {}", val),
None => println!("No even number found."),
}
}
fn get_age(name: &str) -> Option<u32> {
match name {
"Alice" => Some(30),
"Bob" => Some(25),
_ => None,
}
}
fn main() {
let age = get_age("Alice");
match age {
Some(a) => println!("Alice is {} years old.", a),
None => println!("Age not found."),
}
}