我有一个变量,我对它进行了很多算术运算。
我的代码是这样的:
let a: u32 = 3;
let res = (a*2) - 42
a
当太低时就会溢出,所以我必须使用它saturating_sub()
来解决问题:
let a: u32 = 3;
let res = (a * 2).saturating_sub(42);
这确实很有效,但saturating_sub
可读性不如-
。
由于我有很多这样的操作,而且在每种情况下,我都希望a
饱和。我想知道是否可以定义应该a
始终饱和。而不是用替换-
每个saturate_sub
。
那是
std::num::Saturating
,但是它仅实现与其他的操作Saturating
,而不是底层原语:如果这对你来说是一个问题,你可以创建自己的类型: