如何解决如何传递 [][]int 变量
我们知道 Go 是按值传递,切片是指针类型,那么 [][]int 呢? 我得到了这个代码
func add(nums [][]int) {
nums = append(nums,[]int{1,2,3})
}
在这个函数之后,nums 似乎没有改变。我对 [][]int 感到困惑。
解决方法
您的代码为名为 nums
的局部变量赋值。
由于 nums
是不是引用的局部变量,因此您无法从函数 add
的范围之外访问它。
如果你想在函数外改变nums
的值,它必须是指针类型。
并且您必须先取消引用它,然后分配您要分配给它的值。
func add(nums *[][]int) {
t := append(*nums,[]int{1,2,3})
*nums = &t
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。