go map数据结构
生活随笔
收集整理的這篇文章主要介紹了
go map数据结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
map數據結構
key-value的數據結構,又叫字典或關聯數組
- 聲明:
備注:聲明是不會分配內存的,初始化需要make
樣例一:
func testMap() {var a map[string]stringa = make(map[string]string, 10)a["abc"] = "efg"a["abc"] = "efg"a["abc1"] = "efg"fmt.Println(a) }樣例二:
func testMap() {a := make(map[string]string, 10)a["abc"] = "efg"a["abc"] = "efg"a["abc1"] = "efg"fmt.Println(a) }樣例三:
func testMap() {var a map[string]string = map[string]string{"key": "value",}a["abc"] = "efg"a["abc"] = "efg"a["abc1"] = "efg"fmt.Println(a) }?
- map相關操作
插入和更新:a[“hello”] = “world”
查找:Val, ok := a[“hello”]
遍歷:
for k, v := range a { fmt.Println(k,v) }刪除:delete(a, “hello”)
長度:len(a)
func trans(a map[string]map[string]string) {for k, v := range a {fmt.Println(k)for k1, v1 := range v {fmt.Println("\t", k1, v1)}} }func testMap4() {a := make(map[string]map[string]string, 100)a["key1"] = make(map[string]string)a["key1"]["key2"] = "abc"a["key1"]["key3"] = "abc"a["key1"]["key4"] = "abc"a["key1"]["key5"] = "abc"a["key2"] = make(map[string]string)a["key2"]["key2"] = "abc"a["key2"]["key3"] = "abc"trans(a)delete(a, "key1")fmt.Println()trans(a)fmt.Println(len(a)) }?
- 多層map
?
- slice of map
備注:上面第一次make是切片的長度,第二次make是map的容量
?
- map排序
a.?先獲取所有key,把key進行排序
b. 按照排序好的key,進行遍歷
func testMapSort() {var a map[int]inta = make(map[int]int, 5)a[8] = 10a[3] = 10a[2] = 10a[1] = 10a[18] = 10var keys []intfor k, _ := range a {keys = append(keys, k)//fmt.Println(k, v)}sort.Ints(keys)for _, v := range keys {fmt.Println(v, a[v])} }?
- map反轉
初始化另外一個map,把key、value互換即可
func test() {var a map[string]intvar b map[int]stringa = make(map[string]int, 5)b = make(map[int]string, 5)a["abc"] = 101a["efg"] = 10fmt.Println(a)for k, v := range a {b[v] = k}fmt.Println(b) }?
轉載于:https://www.cnblogs.com/shhnwangjian/p/7446995.html
總結
以上是生活随笔為你收集整理的go map数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。