是否有更好的方法在不同的原始类型上进行算术运算(使用自动升级)而不是显式转换和解包?
例如,如果:
let a: u8 = 1;
let b: u16 = 2;
let c: u32 = 3;
我可以以某种方式摆脱所有演员:
let total: u64 = a.to_u64().unwrap() + b.to_u64().unwrap() + c.to_u64().unwrap();
答案 0 :(得分:5)
是的,您可以使用as
:
let total: u64 = a as u64 + b as u64 + c as u64;
有关类型转换的更多信息:http://doc.rust-lang.org/reference.html#type-cast-expressions