Более хорошая арифметика на примитивных типах в Rust
Есть ли лучший способ сделать арифметику для разных примитивных типов (с автоматическим продвижением вверх), чем явное приведение и распаковка?
Например, в случае, как:
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();
1 ответ
Решение
Да, вы можете использовать as
:
let total: u64 = a as u64 + b as u64 + c as u64;
More info on type casting: http://doc.rust-lang.org/reference.html