本文實(shí)例講述了GO語(yǔ)言映射(Map)用法。分享給大家供大家參考。具體如下:
映射是一種內(nèi)置的數(shù)據(jù)結(jié)構(gòu),用來(lái)保存鍵值對(duì)的無(wú)序集合。
(1)映射的創(chuàng)建
make ( map [KeyType] ValueType, initialCapacity )
make ( map [KeyType] ValueType )
map [KeyType ] ValueType {}
map [KeyType ] ValueType { key1 : value1, key2: value2, ... , keyN : valueN}
如下,用4種方式分別創(chuàng)建數(shù)組,其中第一種和第二種的區(qū)別在于,有沒(méi)有指定初始容量,不過(guò)使用的時(shí)候則無(wú)需在意這些,因?yàn)閙ap的本質(zhì)決定了,一旦容量不夠,它會(huì)自動(dòng)擴(kuò)容:
輸出如下:
map[] map[] map[] map[c:3 a:1 b:2]
(2)映射的填充和遍歷
如上,數(shù)組的填充使用 map[key] = value 的方式,遍歷映射的時(shí)候,每一項(xiàng)都返回2個(gè)值,鍵和值。結(jié)果如下:
a->1 b->2 c->3
(3)映射的查找、修改和刪除
map4["a"] = "8" //修改映射和添加映射沒(méi)什么區(qū)別
fmt.Printf("%v/n", map4)
fmt.Println("刪除b:")
delete(map4, "b")
fmt.Printf("%v", map4)
}
map指定key取對(duì)應(yīng)的value時(shí),可以指定返回兩個(gè)值,第一個(gè)是對(duì)應(yīng)的value,第二個(gè)是一個(gè)bool,表示是否有值。如上,“a”肯定有值,"b"肯定沒(méi)值。
修改映射和添加映射的操作沒(méi)什么區(qū)別,若指定的鍵不存在則創(chuàng)建,否則,修改之。
刪除則是使用go的內(nèi)置函數(shù)delete,輸出如下:
true,1
false,
map[a:8 b:2 c:3]
刪除b:
map[a:8 c:3]
希望本文所述對(duì)大家的GO語(yǔ)言程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選