【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."),
    }
}

 

posted @ 2025-07-05 17:38  苏格拉底的落泪  阅读(5)  评论(0)    收藏  举报