如何在 golang 中将 uint64 转换为 big.Int?

How to convert a uint64 to big.Int in golang?

我想知道如何在 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 上试试这个。