slice这两种方式赋值有什么区别
来源:3-3 切片的操作

毛兴峰
2021-08-03
nums := []int{1, 2, 3, 4, 5}
nums1 := append([]int(nil), nums…)
nums2 := nums
nums1 和 nums2有什么区别吗,我在通过下标获取值的时候,第二种会报错,index out of range [4] with length 4
写回答
1回答
-
它们的capacity不一样。我们查看cap(nums1)和cap(nums2),它们本别是6和5。
不过[4]都是取得出来的。同学可能代码有问题。如果还有问题可以贴到https://play.studygolang.com/ 然后分享出来。
00
相似问题