函数值传递的问题
来源:3-2 切片的概念

liyongwei
2018-09-14
你好,老师,go语言里函数参数都是值传递,没有引用传递,下面的代码是把slice当作参数传给函数maopao进行排序。然而打印出的结果是:[1 3 5 6 7 8 9]
疑惑:值传递是把变量进行copy一份,在函数里的排序,为什么会影响到外面slice的顺序
写回答
1回答
-
这是因为切片的肚子里藏了一个指针。值传递的拷贝,只是进行了所谓“浅”拷贝,两个切片指向同一块数据。之前说到值传递的时候,有讲到传递一个缓存,就是这样的情况。另外,这章我们也会剖析切片内部的具体实现和结构。
00
相似问题