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

时间:2021-05-21 08:13:22

标签: go

我想将 big.Int 数字附加到 big.Int 类型的切片。我尝试了以下方法:

a := big.NewInt(10)
b := big.NewInt(20)

arr := new([]big.Int)
arr = append(arr, a, b)

但是它返回错误first argument to append must be slice; have *[]big.Int
那么如何附加到 big.Int 切片?

1 个答案:

答案 0 :(得分:1)

您错误地使用了为切片分配内存的方法。使用 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

相关问题