您提供的两个选择在语义上是相同的,但是使用
make([]int, 0)会导致内部调用 runtime.makeslice (Go 1.14)。
您还可以选择保留其
nil值:
var myslice []int
如Golang.org博客中所述:
nil切片在功能上等效于零长度切片,即使它没有指向任何内容。它的长度为零,可以附加分配。
甲
nil片段将然而
json.Marshal()入
"null"而空片将编组成
"[]",如通过@farwayer指出。
如@ArmanOrdookhani所指出的,以上选项均不会导致任何分配。



