作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想知道如何在 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/
我是一名优秀的程序员,十分优秀!