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