golang 中的数组是值类型。在我的理解中,值类型保存的是值,而不是内存地址。所以下面的代码,变量arr不应该改变。但它没有。我想知道为什么
func main() {
arr := []int{0,0,0}
arr2 := arr
arr[1] = 1
fmt.Println(arr, arr2)
// output [0 1 0] [0 1 0]
// output in thought [0 0 0] [0 1 0]
}
也许这是一个基本问题。但是我找到了一些文章。他们都只是说在golang中哪些是引用类型和值类型。但它不能帮助我解决我的问题。
浮云间
相关分类