【发布时间】:2015-05-23 17:38:40
【问题描述】:
要声明一个具有非固定大小的空切片, 这样做更好吗:
mySlice1 := make([]int, 0)
或:
mySlice2 := []int{}
只是想知道哪个是正确的方法。
【问题讨论】:
-
您说的是“非固定大小”,但切片从不具有固定大小。除非你的意思是零容量。请注意,如果您对可能需要的容量有一个想法/猜测/提示,那么使用三参数版本是好的。例如。构建一片地图键:
keys := make([]int, 0, len(m)); for k, v := range m { keys := append(keys,k) }