fn main() {
println!("Hello world! - rust.jsrun.net");
//安全之处:1.不允许不安全的隐式类型转换;2.虽然允许传入非法实参,但是会发出编译警告
let mut totalCost: u8;
total_cost = buy_loong_egg(-2); //编译错误:类型不符
total_cost = buy_loong_egg(8); //允许传入非法实参,不报错
total_cost = buy_loong_egg(3.6); //编译错误:类型不符
total_cost = buy_loong_egg(6); //totalCost = 18
//需要人为解析函数返回的结果
match totalCost {
Ok(value) => println!("所花费用为:{}", value),
Err(err) => println!("{}", err),
}
}
fn buy_loong_egg(number: u8) -> Result<u8, &'static str> {
match number {
2..=7 => Ok(number * 3),
_ => Err("传入了无效的实参!"),
}
}