[Rust] Option

fn multiply(num: Option<usize>) -> usize {
    return num.unwrap_or(0) * 5;
}

fn multiply1(num: Option<usize>) -> Option<usize> {
    match num {
        Some(num) => Some(num * 5),
        None => None,
    }
}

fn multiply2(num: Option<usize>) -> Option<usize> {
    return num.map(|x| x * 5);
}

fn multiply3(num: Option<usize>) -> Option<usize> {
    return Some(num? * 5);
}

 

posted @ 2023-05-18 20:32  Zhentiw  阅读(27)  评论(0)    收藏  举报