登录
首页 >  Golang >  Go问答

如何将 big.Int 数字附加到 big.Int 切片?

来源:stackoverflow

时间:2024-04-02 09:45:32 102浏览 收藏

小伙伴们有没有觉得学习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学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>