首頁 >後端開發 >Golang >在 Go 中建立地圖時,「map」或「make」重要嗎?

在 Go 中建立地圖時,「map」或「make」重要嗎?

Patricia Arquette
Patricia Arquette原創
2024-12-01 05:57:11593瀏覽

Does `map` or `make` Matter When Creating Maps in Go?

建立地圖很重要嗎?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn