根据https://play.golang.org/p/7RPExbwOEU,它们均打印相同且具有相同的长度和容量。初始化切片的三种方式之间有区别吗?有没有首选的方法?我发现自己同时使用make([]int, 0)
,并[]int{}
具有相同的频率。
这将初始化一个长度为0的切片。
make([]int, 0)
使用make
是初始化具有不同于长度的特定容量的切片的唯一方法。这将分配一个长度为0但容量为1024的切片。
make([]int, 0, 1024)
这是切片文字,它也会初始化长度为0的切片。使用此或make([]int, 0)
仅是首选项。
[]int{}
这将初始化指向切片的指针,该切片将立即取消引用。slice本身尚未初始化,仍然为nil,因此这实际上什么也不做,等效于[]int(nil)
*new([]int)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句