var arr2d [][]int
arr := []int{1, 2}
arr2d = append(arr2d, arr) //[[1,2]]
arr = arr[:len(arr) -1 ] //arr = [1]
arr = append(arr, 3) //arr = [1,3]
fmt.Println(arr2d) //[[1,3]]
我的理解是arr是一個切片,對arr做出改變會影響到arr2d的值
在看另一段程式碼
var arr2d [][]int
arr := []int{1, 2}
arr2d = append(arr2d, arr) //[1,2]
arr = append(arr, 3) //arr = [1,2,3]
fmt.Println(arr2d) //[[1,2]]
這裡的arr = append(arr, 3)
操作為什麼沒影響到arr2d的值呢?
本作品採用《CC 協議》,轉載必須註明作者和本文連結