有没有比显式转换和展开更好的方法来对不同的原始类型进行算术运算(具有自动提升功能)?

例如,在以下情况下:

let a: u8 = 1;
let b: u16 = 2;
let c: u32 = 3;

我能以某种方式摆脱所有的 Actor 阵容吗?
let total: u64 = a.to_u64().unwrap() + b.to_u64().unwrap() + c.to_u64().unwrap();

最佳答案

是的,您可以使用as:

let total: u64 = a as u64 + b as u64 + c as u64;

有关类型转换的更多信息:http://doc.rust-lang.org/reference.html#type-cast-expressions

10-08 19:52