我有一个程序,我将在其中制作很多切片,其中一些可能是空的:
nb := something() // something might return 0
slices = append(slices, make([]int, nb))
是否make([]int, 0)
分配了一些内存,因此尽管它们共享相同的行为,但内存效率低于nil
切片?多少?
如果是这样,是否值得进行测试以避免无用的分配,或者测试的 CPU 时间成本是否不值得节省内存(或任何其他不这样做的原因)?
var sl slice
nb := something()
if nb > 0 {
sl = make([]int, nb)
}
slices = append(slices, sl)