我有一个关于切片帽的问题,代码:
var slice []int
list := []int{1,2,3,4,5}
for _,item := range list {
slice = append(slice, item)
}
fmt.Println(len(slice),cap(slice))
如果项目 == 1:len(切片)=1,帽(切片)=1
如果项目 == 2:len(切片)=2,帽(切片)= 1*2
如果项目 ==3: len(切片) = 3,帽(切片) = 2*2
如果项目 == 4:len(切片) = 4,帽(切片) = 4
如果项目 == 5:len(切片) = 5,帽(切片) = 4*2
所以输出:
len(切片) = 5,帽(切片) = 8
没问题,但是当我更改代码时:
var slice []int
slice = append(slice,1,2,3,4,5)
fmt.Println(len(slice),cap(slice))
输出:
len(切片) = 5,帽(切片) = 6
为什么帽(切片) = 6 ?
慕妹3146593
相关分类