初識
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...