最佳答案
在围棋中,我试图为我的旅行推销员的问题作出一个扰乱切片函数。在这样做的时候,我注意到当我开始编辑切片时,我给出的加密函数每次传入时都不一样。
经过一些调试,我发现这是由于我编辑内部的切片函数。但是,既然 Go 应该是一种“按值传递”的语言,这怎么可能呢?
Https://play.golang.org/p/mmivoh0tuv
我已经提供了一个操场链接,以显示我的意思。
通过删除第27行,您将获得与保留该行不同的输出,这应该不会产生什么影响,因为当作为参数传入时,函数应该创建自己的切片副本。
有人能解释一下这个现象吗?