欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang中map增刪改查的示例代碼

 更新時間:2023年11月26日 16:21:59   作者:初辰ge  
在Go語言中,map是一種內(nèi)置的數(shù)據(jù)結構,用于存儲鍵值對,本文主要介紹了golang中map增刪改查的示例代碼,具有一定的參考價值,感興趣的可以了解一下

map 一種無序的鍵值對, 它是數(shù)據(jù)結構 hash 表的一種實現(xiàn)方式。map工作方式就是:定義鍵和值,并且可以獲取,設置和刪除其中的值。

聲明

// 使用關鍵字 map 來聲明
bMap := map[string]int{"key1": 18}
// 使用make來聲明
cMap := make(map[string]int)
cMap["key2"] = 19
fmt.Println("bMap:", bMap)
fmt.Println("cMap:", cMap)

上面程序用兩種方式創(chuàng)建了兩個 map,運行結果如下:

bMap: map[key1:18]
cMap: map[key2:19]

檢索鍵的值

檢索 Map元素的語法為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"])

當map中不存在該key時,該映射將返回該元素類型的零值。所以以上程序輸出為:

aMap: map[key1:18 key2:19]
aMapkey2: 19
aMapkey3: 0 

檢索鍵是否存在

檢索鍵是否存在的語法為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

因為 map 是無序的,因此對于程序的每次執(zhí)行,不能保證使用 for range 遍歷 map 的順序總是一致的,而且遍歷的順序也不完全與元素添加的順序一致。

從 Map中刪除元素

delete(map, key) 用于刪除 map 中的鍵。delete 函數(shù)沒有返回值。

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]

到此這篇關于golang中map增刪改查的示例代碼的文章就介紹到這了,更多相關golang map增刪改查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Go?的入口函數(shù)和包初始化的使用

    Go?的入口函數(shù)和包初始化的使用

    本文主要介紹了Go?的入口函數(shù)和包初始化的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Golang語言使用像JAVA?Spring注解一樣的DI和AOP依賴注入實例

    Golang語言使用像JAVA?Spring注解一樣的DI和AOP依賴注入實例

    這篇文章主要為大家介紹了Golang語言使用像JAVA?Spring注解一樣的DI和AOP依賴注入實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Go語言LeetCode題解1046最后一塊石頭的重量

    Go語言LeetCode題解1046最后一塊石頭的重量

    這篇文章主要為大家介紹了Go語言LeetCode題解1046最后一塊石頭的重量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • go語言實現(xiàn)簡易比特幣系統(tǒng)之交易簽名及校驗功能

    go語言實現(xiàn)簡易比特幣系統(tǒng)之交易簽名及校驗功能

    這篇文章主要介紹了go語言實現(xiàn)簡易比特幣系統(tǒng)之交易簽名及校驗功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 一文帶你搞懂go中的請求超時控制

    一文帶你搞懂go中的請求超時控制

    在日常開發(fā)中,對于RPC、HTTP調(diào)用設置超時時間是非常重要的,這就需要我們設置超時控制,本文將通過相關示例為大家深入介紹一下go中的請求超時控制,希望對大家有所幫助
    2023-11-11
  • Go開發(fā)神器Air熱加載的安裝使用探究

    Go開發(fā)神器Air熱加載的安裝使用探究

    這篇文章主要介紹了Go開發(fā)神器Air熱加載使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • golang string、int、int64 float 互相轉換方式

    golang string、int、int64 float 互相轉換方式

    這篇文章主要介紹了golang string、int、int64 float 互相轉換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法

    Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法

    本文主要介紹了Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Go語言io?pipe源碼分析詳情

    Go語言io?pipe源碼分析詳情

    這篇文章主要介紹了Go語言io?pipe源碼分析詳情,pipe是一個適配器,用于連接Reader和Writer,pipe的方法不多,新的寫法卻不少,并且結構體分兩塊,讀寫信道和結束標識,下面進入文章了解具體的內(nèi)容吧
    2022-02-02
  • Go 類型轉換工具包strconv包的用法

    Go 類型轉換工具包strconv包的用法

    Go 語言的?strconv?包提供了用于基本數(shù)據(jù)類型之間轉換的函數(shù),本文主要介紹了Go 類型轉換工具包strconv包的用法,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05

最新評論