目錄
- 簡介
- 常見的操作
簡介
哈希表在平時可以說是最常見的一種資料結構,Go內建了map這種型別,就是哈希表的一種實作,宣告一個map型別的變數要指定它key/value的型別,如下:
var m = map[keyType]valueType
其中key的型別必須支持==比較運算子的資料型別
下面簡單宣告一個key是string型別值是int型別的map:
var m map[string]int
map型別的變數,是一個指向哈希表的參考,類似指標或者slice,上面宣告的m由于沒有指向具體的哈希表,所以它是nil的,通常宣告一個map后需要用內建的make進行初始化:
m = make(map[string]int)
這時變數m就指向了一個哈希表結構的資料,接下來我們可以對它進行操作了,
常見的操作
給一個map中添加值:
m["a"] = 1
這里的a可以是存在也可以不存在,如果存在就是替換這個a的值,如果不存在就是設定一個a的值為1
獲取map中的值:
i := map["a"]
如果鍵a不存在,則回傳0,map可以回傳雙值,判斷key是否存在:
i, ok := m["a"]
i就是當前a存的值,ok就是鍵a是否存在,如果存在ok為true不存在為false
len可以獲取map當前的元素的個數:
n := len(m)
delete可以洗掉map中的值:
delete(m, "a")
遍歷map可以用range:
for key, value := range m {
fmt.Println("Key:", key, "Value:", value)
}
map初始化的是時候就可以賦值:
m := map[string]int{
"rsc": 3711,
"r": 2138,
"gri": 1908,
"adg": 912,
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/1903.html
標籤:Go
