對映是一種內建的資料結構,用來儲存鍵值對的無序集合。
(1)對映的建立
make ( map [keytype] valuetype, initialcapacity )
make ( map [keytype] valuetype )
map [keytype ] valuetype {}
map [keytype ] valuetype
如下,用4種方式分別建立陣列,其中第一種和第二種的區別在於,有沒有指定初始容量,不過使用的時候則無需在意這些,因為map的本質決定了,一旦容量不夠,它會自動擴容:
複製** **如下:
func test1()
map4 := map[string]string
fmt.println(map1, map2, map3, map4)
}輸出如下:
map map map map[c:3 a:1 b:2]
(2)對映的填充和遍歷
複製** **如下:
func test2()
}如上,陣列的填充使用 map[key] = value 的方式,遍歷對映的時候,每一項程式設計客棧都返回2個值,鍵和值。結果如下:
a->1 b->2 c->3
(3)對映的查詢、修改和刪除
複製** **如下:
func test3()
val, exist := map4["a"]
val2, exist2 := map4["d"]
fmt.printf("%v,%v\n", exist, val)
fmt.printf("%v,%v\n", exist2, val2)
map4["a"] = "8" //修改對映和新增對映沒什麼區別
fmt.printf("%v\n", map4)
程式設計客棧 &nbaybiuhusp; fmt.println("刪除b:")
delete(map4, "b")
fmt.printf("%v", map4)
}map指定key取對應的value時,可以指定返回兩個值,第乙個是對應的value,第二個是乙個bool,表示是否有值。如上,「a」肯定有值,"b"肯定沒值。
修改對映和新增對映的操作沒什麼區別,若指定的鍵不存在則建立,否則,修改之。
刪除則是使用go的內建函式delete,輸出如下:
true,1
false,
map[a:8 b:2 c:3]
刪除b:
map[a:8 c:3]
本文標題: go語言對映(map)用法分析
本文位址:
Go語言map用法例項分析
map 對映鍵到值 map 在使用之前必須用 make 來建立 不是 new 乙個值為www.cppcns.com nil 的 map 是空的,並且不能賦值。複製 如下 package main import www.cppcns.com fmt type vertex struct var m m...
go語言學習 對映map
go語言中的map 對映 字典 是一種內建的資料結構,它是乙個無序的key value對的集合。go語言中的map是引用型別,必須初始化才能使用。一 map的定義和初始化 go語言中map宣告的語法 var m map keytype valuetype 其中 keytype 鍵key的型別 val...
Go語言中對映表map的使用
go語言中的鍵值對 key value 集合,稱之為對映map。對映map是變長型別,定義時不需要指定長度。對映map是無序的,遍歷是的順序不可期,原因是底層由hash表實現。邏輯結構表示為 var m map key type value type var m make map key type ...