golang中map增刪改查的示例代碼
map 一種無(wú)序的鍵值對(duì), 它是數(shù)據(jù)結(jié)構(gòu) hash 表的一種實(shí)現(xiàn)方式。map工作方式就是:定義鍵和值,并且可以獲取,設(shè)置和刪除其中的值。
聲明
// 使用關(guān)鍵字 map 來(lái)聲明 bMap := map[string]int{"key1": 18} // 使用make來(lái)聲明 cMap := make(map[string]int) cMap["key2"] = 19 fmt.Println("bMap:", bMap) fmt.Println("cMap:", cMap)
上面程序用兩種方式創(chuàng)建了兩個(gè) map,運(yùn)行結(jié)果如下:
bMap: map[key1:18]
cMap: map[key2:19]
檢索鍵的值
檢索 Map元素的語(yǔ)法為map[key]
aMap := make(map[string]int) aMap["key1"] = 18 aMap["key2"] = 19 fmt.Println("aMap:", aMap) fmt.Println("aMapkey2:", aMap["key2"]) fmt.Println("aMapkey3:", aMap["key3"])
當(dāng)map中不存在該key時(shí),該映射將返回該元素類(lèi)型的零值。所以以上程序輸出為:
aMap: map[key1:18 key2:19]
aMapkey2: 19
aMapkey3: 0
檢索鍵是否存在
檢索鍵是否存在的語(yǔ)法為value, ok := map[key]
aMap := make(map[string]int) aMap["key1"] = 18 aMap["key2"] = 19 value, ok := aMap["key3"] if ok { fmt.Println("key3", value) } else { fmt.Println("key3", "no") }
ok
的值為map中是否存在該key,存在為true
,反之為false
。所以以上程序輸出為:key3 no
遍歷 Map中的所有元素
可以用for循環(huán)的range形式用于迭代 Map的所有元素。
aMap := make(map[string]int) aMap["key1"] = 18 aMap["key2"] = 19 for key, value := range aMap { fmt.Printf("aMap[%s] = %d\n", key, value) }
以上程序輸出為:
aMap[key1] = 18
aMap[key2] = 19
因?yàn)?map 是無(wú)序的,因此對(duì)于程序的每次執(zhí)行,不能保證使用 for range 遍歷 map 的順序總是一致的,而且遍歷的順序也不完全與元素添加的順序一致。
從 Map中刪除元素
delete(map, key)
用于刪除 map 中的鍵。delete 函數(shù)沒(méi)有返回值。
aMap := make(map[string]int) aMap["key1"] = 18 aMap["key2"] = 19 fmt.Println("map before deletion", aMap) delete(aMap, "key1") fmt.Println("map after deletion", aMap)
以上程序輸出為:
map before deletion map[key1:18 key2:19]
map after deletion map[key2:19]
到此這篇關(guān)于golang中map增刪改查的示例代碼的文章就介紹到這了,更多相關(guān)golang map增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang語(yǔ)言使用像JAVA?Spring注解一樣的DI和AOP依賴注入實(shí)例
這篇文章主要為大家介紹了Golang語(yǔ)言使用像JAVA?Spring注解一樣的DI和AOP依賴注入實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Go語(yǔ)言LeetCode題解1046最后一塊石頭的重量
這篇文章主要為大家介紹了Go語(yǔ)言LeetCode題解1046最后一塊石頭的重量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12go語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易比特幣系統(tǒng)之交易簽名及校驗(yàn)功能
這篇文章主要介紹了go語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易比特幣系統(tǒng)之交易簽名及校驗(yàn)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04golang string、int、int64 float 互相轉(zhuǎn)換方式
這篇文章主要介紹了golang string、int、int64 float 互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法
本文主要介紹了Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Go 類(lèi)型轉(zhuǎn)換工具包strconv包的用法
Go 語(yǔ)言的?strconv?包提供了用于基本數(shù)據(jù)類(lèi)型之間轉(zhuǎn)換的函數(shù),本文主要介紹了Go 類(lèi)型轉(zhuǎn)換工具包strconv包的用法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05