温馨提示×

rust match如何处理函数返回值

小樊
81
2024-11-20 12:45:34
栏目: 编程语言

在Rust中,match语句主要用于处理枚举类型。但是,如果你想根据函数返回值进行匹配,可以使用模式匹配来解包返回值。这里有一个例子:

首先,定义一个枚举类型,用于表示函数的返回值:

enum Result {
    Success(i32),
    Failure(String),
}

接下来,定义一个函数,它返回Result枚举类型:

fn calculate_result() -> Result {
    // 这里只是一个示例,实际实现可能会有所不同
    if rand::random::<bool>() {
        Result::Success(42)
    } else {
        Result::Failure("Error occurred".to_string())
    }
}

现在,你可以使用match语句根据函数返回值进行匹配:

fn main() {
    let result = calculate_result();

    match result {
        Result::Success(value) => println!("Success! The value is: {}", value),
        Result::Failure(error) => println!("Failure! The error is: {}", error),
    }
}

在这个例子中,我们首先调用calculate_result()函数,然后使用match语句根据返回的Result枚举类型进行匹配。如果返回值是Success,我们将打印出成功消息和值;如果返回值是Failure,我们将打印出失败消息和错误信息。

0