Rust函数返回不同类型的值
在Rust中,函数可以返回不同类型的值,一种常见的方法是使用枚举类型,其中枚举的不同变体可以包含不同类型的值;
示例代码
在这个示例中,定义了一个Result
的枚举,其中包含三个变体,Number
包含一个i32
,Message
包含一个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");
}
}
}