登录
首页 >  Golang >  Go问答

传递整型变量的方法

来源:stackoverflow

时间:2024-03-25 18:39:31 162浏览 收藏

Go 语言中,变量传递方式为值传递。在 [][]int 类型中,切片是引用类型,但数组是值类型。文章讨论了在函数中传递 [][]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
}

到这里,我们也就讲完了《传递整型变量的方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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