我想将 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
切片?
答案 0 :(得分:1)
您错误地使用了为切片分配内存的方法。使用 new
获取指针并使用 make
调用它只会使事情复杂化。您可以只初始化一个空切片并使用 append
此外,NewInt
返回一个包含该值的 pointer,在存储到切片之前对其取消引用。
var arr []big.Int
arr = append(arr, *a, *b)
或使用 make
分配数组并返回引用该数组的切片并按索引存储值
arr := make([]big.Int, 2)