我想知道如何在golang中将uint64
转换为big.Int
?最短的方法。
我已经尝试过new(big.Int).SetInt64(int64(a uint64 number))
。
我不喜欢它,因为它的转换嵌套时间太长,如果存在,我宁愿使用内置函数。
最佳答案
最短最安全的方法是使用 Int.SetUint64()
方法:
var x uint64 = 10
i := new(big.Int).SetUint64(x)
fmt.Println(i) // Prints 10
在Go Playground上尝试一下。
手动将
uint64
转换为int64
时要小心(如您的示例),因为可能会发生溢出,但不会通知您,但最终会产生负值。如果您可以确定该值适合
int64
,那么使用 big.NewInt()
函数会更短:i := big.NewInt(int64(x))
在Go Playground上尝试这个。
关于go - 如何在Golang中将uint64转换为big.Int?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49754100/