Rust: Как проверить, что опция равна None – Методы и примеры кода

Чтобы проверить, имеет ли Optionзначение Noneв Rust, вы можете использовать различные методы и приемы. Вот несколько примеров:

  1. Использование match:
let my_option: Option<i32> = Some(5);
match my_option {
    Some(value) => {
        println!("Option has a value: {}", value);
    }
    None => {
        println!("Option is None");
    }
}
  1. Использование if let:
let my_option: Option<i32> = None;
if let Some(value) = my_option {
    println!("Option has a value: {}", value);
} else {
    println!("Option is None");
}
  1. Использование unwrap_or:
let my_option: Option<i32> = Some(10);
let value = my_option.unwrap_or(0);
println!("Value: {}", value); // Prints "Value: 10"
let my_option: Option<i32> = None;
let value = my_option.unwrap_or(0);
println!("Value: {}", value); // Prints "Value: 0"
  1. Использование is_none:
let my_option: Option<i32> = Some(7);
if my_option.is_none() {
    println!("Option is None");
} else {
    println!("Option has a value");
}
  1. Использование mapи is_none:
let my_option: Option<i32> = None;
let is_none = my_option.map(|_| ()).is_none();
if is_none {
    println!("Option is None");
} else {
    println!("Option has a value");
}