MST

星途 面试题库

面试题:Rust中Option枚举在空值处理场景下的常见用法

请描述在Rust中如何使用Option枚举来处理可能为空的值,并给出一个简单的函数示例,该函数接收一个Option<i32>类型的参数,若值存在则返回其平方,若值为空则返回0。
25.2万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

在Rust中,Option枚举用于处理可能为空的值。Option有两个变体:Some(T),用于包含一个值;None,用于表示空值。

示例代码如下:

fn square_option(num: Option<i32>) -> i32 {
    match num {
        Some(n) => n * n,
        None => 0,
    }
}

在上述代码中,square_option函数接收一个Option<i32>类型的参数num。通过match语句对num进行模式匹配,如果numSome(n),则返回n的平方;如果numNone,则返回0

还可以使用unwrap_or方法来简化上述代码:

fn square_option(num: Option<i32>) -> i32 {
    num.unwrap_or(0) * num.unwrap_or(0)
}

unwrap_or方法会返回Option中的值,如果是None,则返回传入的默认值。这里两次调用unwrap_or(0),如果numSome,则返回其中的值并计算平方;如果是None,则使用默认值0计算平方。