go語言資料型別之集合map

2021-10-11 03:05:15 字數 2116 閱讀 5365

初識

map是一種無序的基於key-value的資料結構,go語言中的map是引用型別,必須初始化才能使用。它得內部基於雜湊表(hash)實現

map

[keytype]valuetype

keytype:表示鍵的型別。

valuetype:表示鍵對應的值的型別。

方法一:

scoremap :=

make

(map

[string

]int,8

) scoremap[

"張三"]=

90 scoremap[

"小明"]=

100 fmt.

println

(scoremap)

fmt.

println

(scoremap[

"小明"])

fmt.

printf

("type of a:%t\n"

, scoremap)

方法二:

userinfo :=

map[

string

]string

fmt.

println

(userinfo)

//

value, ok :=

map[key]

示例:

func

main()

else

}

delete

(map

, key)

其中,

map:表示要刪除鍵值對的map

key:表示要刪除的鍵值對的鍵

map遍歷

依然和slice一樣,使用for range遍歷

func

main()

}

因為map是無序的,所以想要實現有序遍歷,需要借助其他資料型別,比如slice

func

main()

//取出map中的所有key存入切片keys

var keys =

make([

]string,0

,200

)for key :=

range scoremap

//對切片進行排序

sort.

strings

(keys)

//按照排序後的key遍歷map

for_

, key :=

range keys

}

*切片與map

我們來簡單介紹一下map型別中的元素是slice的情況,以及slice型別中的元素是map的情況下的使用

func

main()

fmt.

println

("after init"

)// 對切片中的map元素進行初始化

mapslice[0]

=make

(map

[string

]string,10

) mapslice[0]

["name"]=

"王五"

mapslice[0]

["password"]=

"123456"

mapslice[0]

["address"]=

"紅旗大街"

for index, value :=

range mapslice

}

func

main()

value =

(value,

"北京"

,"上海"

) slicemap[key]

= value

fmt.

println

(slicemap)

}

Go 語言程式設計 高階資料型別 Map 集合

集合 map 是一種無序的 hash 鍵值對集合。通過 key 來快速檢索 value,所以我們可以像迭代字串 陣列和切片那樣迭代它。golang 的 map 資料型別類似於 python 的字典資料型別,但封裝程度較原始。可以使用用 map 關鍵字來宣告乙個 map 變數,也可以使用內建的 mak...

Go語言復合資料型別之map

map的操作 雜湊表是乙個無序的key value對的集合,要求所有的key必須不同,然後通過給定的key可以在o 1 內檢索 更新或者刪除對應的value。go語言中map就是乙個雜湊表,其表達形式為map key value key在map中是同一種資料型別,其中key必須是支援比較運算子的型別...

Go 語言Map 集合

map 是一種無序的鍵值對的集合。map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,map 是無序的,我們無法決定它的返回順序,這是因為 map 是使用 hash 表來實現的。可以使用內建函式 ma...