首頁 >後端開發 >Golang >Go 地圖:`map[string]int{}` 與 `make(map[string]int)`:有什麼不同?

Go 地圖:`map[string]int{}` 與 `make(map[string]int)`:有什麼不同?

Patricia Arquette
Patricia Arquette原創
2025-01-03 06:53:40905瀏覽

Go Maps: `map[string]int{}` vs. `make(map[string]int)`: What's the Difference?

了解使用make 和不使用make 的映射初始化之間的差異

在Go 中處理映射時,您可能會遇到兩種不同形式的初始化:

1。使用地圖文字:

var m = map[string]int{}

2.使用make 函數:

var m = make(map[string]int)

功能差異:

主要差異在於映射的初始化方式。第二種形式使用 make,總是產生一個空映射。然而,第一種形式是地圖文字的獨特情況。映射文字可以用初始鍵值對構造映射。例如:

m := map[bool]string{false: "FALSE", true: "TRUE"}

等效性和效能:

範例的通用版本,

m := map[T]U{}

相當於呼叫make:

m := make(map[T]U)

就效能而言,這兩種方法在建立空時的行為相同映射。

初始容量:

使用 make 的主要優點是能夠指定初始容量。這可以透過在 make 函數中加入一個整數參數來完成:

m := make(map[T]U, 50)

這會初始化一個為 50 個元素分配空間的對應。如果您預計映射會成長,預先分配可以減少未來的記憶體分配。

以上是Go 地圖:`map[string]int{}` 與 `make(map[string]int)`:有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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