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

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

Patricia Arquette
發布: 2024-12-01 05:57:11
原創
558 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板