Оператор ? (Option)

Ранний выход с None при пустом значении.

Сигнатураexpr? // в функции -> Option<_>

Оператор ? разворачивает Some, а при None немедленно выходит из функции, возвращая None. Работает только в функциях, возвращающих Option.

fn first_char(s: &str) -> Option<char> {
    let c = s.chars().next()?;
    Some(c)
}
println!("{:?}", first_char("hi")); // Some('h')
← Все записи: Стандартная библиотека Rust
Поддержать проект