我如何简化BigInt :: from()的多次使用?

问题描述 投票:0回答:2

[我编写了一个程序,在其中操纵了许多BigIntBigInt值并执行了一些算术运算。

我在经常使用BigUint的地方产生了代码,因为不可能直接添加不同类型的数字(如果我理解正确的话。)>

我想减少代码中的BigInt::from(Xu8)数。我想到了一个“包装”此功能的函数,但我需要将每种类型的函数转换为BigInt::from / BigInt

BigUint

fn short_name(n: X) -> BigInt { return BigInt::from(n) } 将是我要转换的每种类型。

我找不到任何与Rust的静态类型化哲学没有矛盾的解决方案。

我觉得我对特质缺少一些了解,但是我对特质不是很满意,也没有找到使用特质的解决方案。

我是否试图在Rust中做一些不可能的事情?我是否缺少明显的解决方案?

我编写了一个程序,在其中操纵了许多BigInt和BigUint值并执行了一些算术运算。我在经常使用BigInt :: from(Xu8)的地方生成了代码,因为不可能...

rust
2个回答
2
投票

X特征(和互补的From<T>特征)通常用于在Rust中进行类型之间的转换。实际上,From<T>方法来自Into<T>特性。


1
投票

要回答此部分:

© www.soinside.com 2019 - 2024. All rights reserved.