揭示初始化空切片的最佳方法
在聲明具有靈活大小的空切片時,出現了以下問題:哪一個是首選初始化方法- 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中文網其他相關文章!