如何将 big.Int 数字附加到 big.Int 切片?
小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何将 big.Int 数字附加到 big.Int 切片?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
问题内容我想将 big.int
数字附加到 big.int
类型的切片中。我尝试了以下方法:
a := big.NewInt(10)
b := big.NewInt(20)
arr := new([]big.Int)
arr = append(arr, a, b)
但是它返回错误 first argument toappend must be slice;有*[]big.int
。
那么如何附加到 big.int
切片?
正确答案
这里有两个选择。 big.newint()
返回对 big.int
值的引用。因此,如果您需要仅将值保留在数组中,则可以使用以下内容。
a := big.newint(10)
b := big.newint(20)
var arr []big.int
arr = append(arr, *a, *b)
如果需要在数组中存储值的引用,可以使用以下方法。
var arr []*big.int
arr = append(arr, a, b)
您错误地使用了为切片分配内存的方法。使用 new
获取指针并使用 make
调用它只会使事情变得复杂。您可以初始化一个空切片并使用 append
此外,newint
返回包含该值的 pointer,在存储到切片之前取消引用它。
var arr []big.int
arr = append(arr, *a, *b)
或使用 make
分配一个数组并返回引用该数组的切片并按索引存储值
arr := make([]big.Int, 2)
查看Effective Go - Allocation with make
好了,本文到此结束,带大家了解了《如何将 big.Int 数字附加到 big.Int 切片?》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341