map的宣告
var m1 map[string]int
map[key]value key必須支援==(避免使用浮點型)value不做規範
map的初始化
方式1
var m1 map[string]int=map[sting]int
方式2
m2:=make(map[string]int)
注意:
map宣告後初始化前,可進行查詢、刪除、len和range操作,並不會報錯
map宣告後不能進行賦值,只有初始化後才能進行賦值操作
// 先宣告map
var m1 map[string]string
// 再使用make函式建立乙個非nil的map,nil map不能賦值
m1 = make(map[string]string)
// 最後給已宣告的map賦值
m1[「a」] = 「aa」
m1[「b」] = 「bb」
// 直接建立
m2 := make(map[string]string)
// 然後賦值
m2[「a」] = 「aa」
m2[「b」] = 「bb」
// 初始化 + 賦值一體化
m3 := map[string]string
// ****************************************==
// 查詢鍵值是否存在
if v, ok := m1[「a」]; ok else
// 遍歷map
for k, v := range m1
golang語言中map的初始化及使用
先宣告map var m1 map string string 再使用make函式建立乙個非nil的map,nil map不能賦值 m1 make map string string 最後給已宣告的map賦值 m1 a aa m1 b bb 直接建立 m2 make map string strin...
golang 中 map 的使用
golang 中 map 的初始化方式 1 先宣告 map var m1 map int int 再使用make函式建立乙個非nil的map,nil map不能賦值 m1 make map int int 賦值 m1 66 55fmt.println m1 map 66 55 2 直接 make 建...
golang中map併發讀寫問題及解決方法
一 map併發讀寫問題 如果map由多協程同時讀和寫就會出現 fatal error concurrent map read and map write的錯誤 如下 很容易就出現map併發讀寫問題 func main go func time.sleep time.second 20 多個協程同時寫...