GO語言對映(Map)用法分析

2022-09-24 23:42:11 字數 1305 閱讀 4552

對映是一種內建的資料結構,用來儲存鍵值對的無序集合。

(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 ...