建立地圖很重要嗎?
在Go 中建立地圖時,開發者有兩個選擇:
var m = map[string]int{}
var m = make(map[string]int)
雖然前者看起來像是更快欄位初始化的捷徑,但這兩個選項都有微妙的作用
Map Literals 與make
第一種形式是 Map Literals 的特殊情況,它允許使用特定鍵創建非空映射 -值對。例如:
m := map[bool]string{false: "FALSE", true: "TRUE"}
相反,使用 make 的第二種形式總是會建立一個空映射。它相當於沒有初始值的地圖文字,例如:
m := map[string]int{}
初始容量
兩種方法之間的主要區別在於能夠指定初始容量。 make 允許您為特定數量的項目分配空間,即使它們最初並未分配。如果您預計地圖會顯著增長,這可以幫助減少未來的分配。例如:
m := make(map[string]int, 50)
這將創建一個具有足夠空間容納 50 個項目的地圖,隨著地圖的擴展,可能會減少分配。
最佳實踐
一般情況下,兩種方法的選擇要根據情況而定。如果您要建立一個效能並不重要的空白地圖,則任一選項都足夠。但是,如果您預計地圖很大或想要設定初始容量,建議使用 make。
以上是在 Go 中建立地圖時,「map」或「make」重要嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!