golang中map宣告及初始化

2021-08-14 11:15:56 字數 850 閱讀 1354

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 多個協程同時寫...