宣告一個部分:var 還是 make?
在 Go 中,部分是一種重要的資料結構。然而,有兩種不同的方式來聲明一個部分:
var s []int
這個聲明創建了一個無價值的部分,即一個沒有價值的部分。儲存任何元素。 s 的參考值為 nil。
s := make([]int, 0)
該語句建立一個空切片,即帶有零元素但分配了記憶體。 s 的引用值不為 nil。
有什麼差別?
這兩個聲明的主要區別是 var 聲明了無值部分,而 make 分配了記憶體對於一個空塊。使用 var 建立一個區塊,該區塊最初沒有分配給它的儲存空間。在分配記憶體之前,切片中不能儲存任何元素。
另一方面,make 會為空切片分配內存,這意味著元素可以立即儲存在其中。但是,初始份量為零,因此如果要存放更多物品,增加份量非常重要。
最佳選擇是什麼?
如果您不知道要使用的部分的確切大小,通常建議使用 var 來聲明部分。這允許切片根據需要動態增長和調整大小。
如果已知切片的確切大小,使用 make 會更有效,因為它會立即分配記憶體並避免超載創建無價值的切片。部分。
以上是Go 切片:「var」或「make」-哪種聲明最好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!