首頁 >後端開發 >Golang >go語言中map可以定義長度嗎

go語言中map可以定義長度嗎

青灯夜游
青灯夜游原創
2021-06-04 17:45:376332瀏覽

go語言中map可以定義長度。 map可以根據新增的key-value動態的伸縮,因此它不存在固定長度或最大限制,但是也可以選擇標示map的初始容量cap,語法「make(map[keytype]valuetype, cap)」。

go語言中map可以定義長度嗎

本教學操作環境:windows10系統、GO 1.11.2、Dell G3電腦。

Go語言中map 是一種特殊的資料結構,一種元素對(pair)的無序集合,pair 對應一個key(索引)和一個value(值),所以這個結構也稱為關聯數組或字典,這是一個能夠快速尋找值的理想結構,給定key,就可以迅速找到對應的value。

map 這種資料結構在其他程式語言中也稱為字典(Python)、hash 和 HashTable 等。

map 容量

和陣列不同,map 可以根據新增的key-value 動態的伸縮,因此它不存在固定長度或最大限制,但是也可以選擇標示map 的初始容量capacity,格式如下:

make(map[keytype]valuetype, cap)

例如:

map2 := make(map[string]float, 100)

當map 成長到容量上限的時候,如果再增加新的key-value,map 的大小會自動加1,所以出於性能的考慮,對於大的map 或會快速擴張的map,即使只是大概知道容量,也最好先標明。

這裡有一個 map 的具體例子,即將音階和對應的音訊映射起來:

noteFrequency := map[string]float32 {
"C0": 16.35, "D0": 18.35, "E0": 20.60, "F0": 21.83,
"G0": 24.50, "A0": 27.50, "B0": 30.87, "A4": 440}

推薦學習:Golang教程

#

以上是go語言中map可以定義長度嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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