揭示初始化空切片的最佳方法
在声明具有灵活大小的空切片时,出现了以下问题:哪一个是首选初始化方法 - make([]int, 0) 或[]int{}?
两个选项都会产生语义相同的结果。然而,在 Go 1.16 中 make([]int, 0) 会触发对 runtime.makeslice 的内部调用。
或者,您可以选择 nil 值:
var myslice []int
如中所述在 Golang.org 博客中,一个 nil 切片的功能就像一个零长度切片,尽管它没有指向任何东西。它的长度为零,并且允许附加分配。
但是,请注意,nil 切片在 JSON 中序列化为“null”,而空切片呈现为“[]”。
无论选择哪种方法,都不会触发内存分配,正如 @ArmanOrdookhani 所阐明的。
以上是`make([]int, 0) vs. []int{} vs. nil:在 Go 中初始化空切片的最佳方法是什么?`的详细内容。更多信息请关注PHP中文网其他相关文章!