Rust函数返回不同类型的值

在Rust中,函数可以返回不同类型的值,一种常见的方法是使用枚举类型,其中枚举的不同变体可以包含不同类型的值;

示例代码

在这个示例中,定义了一个Result的枚举,其中包含三个变体,Number包含一个i32Message包含一个String,以及不带关联数据的None

get_result函数接受一个i32参数,并根据该数字是负数、正数、还是零来返回相应的Result枚举;

enum Result {
    Number(i32),
    Message(String),
    None,
}

fn get_result(num: i32) -> Result {

    if num < 0 {
        Result::Message("负数".to_string())
    }else if num > 0 {
        Result::Number(num + 100)
    }else {
        Result::None
    }
}

fn main(){
    let value = 5;
    match get_result(value) {
        Result::Message(msg) => {
            println!("{}",msg);
        },
        Result::Number(num) =>{
            println!("{}",num);
        },
        Result::None => {
            println!("None");
        }
    }
}

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/rust-function-return-values-of-different-types.html

分类: 计算机技术
推荐阅读:
使用requests请求后的响应内容 使用Requests进行get请求或post请求后,requests会返回一个Response对象;
Golang中如何使用go test进行单元测试 单元测试的意义在这里就不多说了;本文将示范如何在Go语言环境下使用go test进行简单的单元测试。
未定义标识符 CV_BayerGR2BGR 解决方法 CV_BayerGR2BGR 是 OpenCV 中的颜色转换常量,值为49,在文件 opencv2/imgproc/types_c.h 中定义;提示未定义标识符CV_BayerGR2BGR是因为没有引入opencv2/imgproc/types_c.h这个头文件;
Python bool()函数 在 Python 中,bool() 是一个内置函数,用于将一个值转换为 bool 类型。bool() 函数返回两个值之一:True 或 False。
如何删除一个已发布的crate 实际上,我们可以联系crates.io的技术支持团队,要求删除一些没有意义的crate,这些crate通常没人使用,不包含有意义的代码;
Matlab如何设置默认工作目录? 要设置 MATLAB 的默认工作目录,可以按照以下步骤进行操作: