slice 默认不是nil吗?怎么打印出来的都是0呢
来源:3-3 切片的操作

Zayn_zhang
2019-12-11
slice 默认初始化不是nil吗?怎么在视频中演示中打印出来的是0呢?
写回答
1回答
-
ccmouse
2019-12-11
zero value是指:var s1 []int,这里s1是nil,而不是说slice里的元素默认是nil。
后面s2=make([]int, 16),我们的s2不再是nil,而是一个有16个元素的slice。那么每个元素的值是多少呢?是int类型的zero value。int类型的zero value就是0。
如果我们s2=make([]bool, 16),那就是16个false
如果s2=make([][]int, 16),那么才是16个nil,因为它的元素类型是[]int,而[]int我们说了,zero value是nil
20
相似问题