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

Go語言遍歷map實(shí)現(xiàn)(訪問map中的每一個(gè)鍵值對(duì))

 更新時(shí)間:2021年01月22日 10:04:39   投稿:zx  
這篇文章主要介紹了Go語言遍歷map實(shí)現(xiàn)(訪問map中的每一個(gè)鍵值對(duì)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

map 的遍歷過程使用 for range 循環(huán)完成,代碼如下:

scene := make(map[string]int)
scene["route"] = 66
scene["brazil"] = 4
scene["china"] = 960
for k, v := range scene {
  fmt.Println(k, v)
}

遍歷對(duì)于Go語言的很多對(duì)象來說都是差不多的,直接使用 for range 語法即可,遍歷時(shí),可以同時(shí)獲得鍵和值,如只遍歷值,可以使用下面的形式:

for _, v := range scene {

將不需要的鍵使用_改為匿名變量形式。

只遍歷鍵時(shí),使用下面的形式:

for k := range scene {

無須將值改為匿名變量形式,忽略值即可。
注意:遍歷輸出元素的順序與填充順序無關(guān),不能期望 map 在遍歷時(shí)返回某種期望順序的結(jié)果。

如果需要特定順序的遍歷結(jié)果,正確的做法是先排序,代碼如下:

scene := make(map[string]int)
// 準(zhǔn)備map數(shù)據(jù)
scene["route"] = 66
scene["brazil"] = 4
scene["china"] = 960
// 聲明一個(gè)切片保存map數(shù)據(jù)
var sceneList []string
// 將map數(shù)據(jù)遍歷復(fù)制到切片中
for k := range scene {
  sceneList = append(sceneList, k)
}
// 對(duì)切片進(jìn)行排序
sort.Strings(sceneList)
// 輸出
fmt.Println(sceneList)

代碼輸出如下:
[brazil china route]

代碼說明如下:

  • 第 1 行,創(chuàng)建一個(gè) map 實(shí)例,鍵為字符串,值為整型。
  • 第 4~6 行,將 3 個(gè)鍵值對(duì)寫入 map 中。
  • 第 9 行,聲明 sceneList 為字符串切片,以緩沖和排序 map 中的所有元素。
  • 第 12 行,將 map 中元素的鍵遍歷出來,并放入切片中。
  • 第 17 行,對(duì) sceneList 字符串切片進(jìn)行排序,排序時(shí),sceneList 會(huì)被修改。
  • 第 20 行,輸出排好序的 map 的鍵。

sort.Strings 的作用是對(duì)傳入的字符串切片進(jìn)行字符串字符的升序排列,排序接口的使用將在后面的章節(jié)中介紹。

到此這篇關(guān)于Go語言遍歷map實(shí)現(xiàn)(訪問map中的每一個(gè)鍵值對(duì))的文章就介紹到這了,更多相關(guān)Go語言遍歷map內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入了解Golang為什么需要超時(shí)控制

    深入了解Golang為什么需要超時(shí)控制

    本文將介紹為什么需要超時(shí)控制,然后詳細(xì)介紹Go語言中實(shí)現(xiàn)超時(shí)控制的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05
  • Golang使用Gin框架實(shí)現(xiàn)HTTP響應(yīng)格式統(tǒng)一處理

    Golang使用Gin框架實(shí)現(xiàn)HTTP響應(yīng)格式統(tǒng)一處理

    在gin框架中,我們可以定義一個(gè)中間件來處理統(tǒng)一的HTTP響應(yīng)格式,本文主要為大家介紹了具體是怎么定義實(shí)現(xiàn)這樣的中間件的,感興趣的小伙伴可以了解一下
    2023-07-07
  • Golang操作excel的技巧與方法

    Golang操作excel的技巧與方法

    在Golang中操作Excel可以包括讀取、寫入和編輯Excel文件,你可以定義函數(shù)或方法來執(zhí)行這些操作,本文給大家介紹了Golang操作excel的技巧與方法,文中有詳細(xì)的代碼講解,需要的朋友可以參考下
    2024-05-05
  • Go語言類型轉(zhuǎn)換及問題探討

    Go語言類型轉(zhuǎn)換及問題探討

    本文探討了Go語言中的類型轉(zhuǎn)換機(jī)制,特別是在使用atomic.Pointer和unsafe時(shí)可能引發(fā)的問題,通過深入分析Go語言的類型轉(zhuǎn)換規(guī)則,如數(shù)值類型間轉(zhuǎn)換、字符串與byte/rune切片轉(zhuǎn)換、slice與數(shù)組轉(zhuǎn)換,以及底層類型相同時(shí)的轉(zhuǎn)換,文章最后給出了一些在Go中使用類型轉(zhuǎn)換的建議
    2024-10-10
  • go開源項(xiàng)目用戶名密碼驗(yàn)證的邏輯鬼才寫法

    go開源項(xiàng)目用戶名密碼驗(yàn)證的邏輯鬼才寫法

    這篇文章主要為大家介紹了go開源項(xiàng)目中發(fā)現(xiàn)的一個(gè)邏輯鬼才寫法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 一文帶你感受Go語言空結(jié)構(gòu)體的魔力

    一文帶你感受Go語言空結(jié)構(gòu)體的魔力

    在?Go?語言中,有一種特殊的用法可能讓許多人感到困惑,那就是空結(jié)構(gòu)體,本文將對(duì)Go空結(jié)構(gòu)體進(jìn)行詳解,準(zhǔn)備一杯你最喜歡的飲料或茶,隨著本文一探究竟吧
    2023-05-05
  • Go語言Zap庫Logger的定制化和封裝使用詳解

    Go語言Zap庫Logger的定制化和封裝使用詳解

    這篇文章主要介紹了Go語言Zap庫Logger的定制化和封裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Go語言數(shù)據(jù)結(jié)構(gòu)之二叉樹可視化詳解

    Go語言數(shù)據(jù)結(jié)構(gòu)之二叉樹可視化詳解

    這篇文章主要為大家詳細(xì)介紹了Go語言數(shù)據(jù)結(jié)構(gòu)中二叉樹可視化的方法詳解,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • 深入了解Golang?哈希算法之MD5、SHA-1和SHA-256

    深入了解Golang?哈希算法之MD5、SHA-1和SHA-256

    哈希算法是計(jì)算機(jī)科學(xué)領(lǐng)域中一種重要的技術(shù),它將任意長(zhǎng)度的輸入數(shù)據(jù)映射為固定長(zhǎng)度的哈希值,在本篇文章中,我們將深入探討Golang中的哈希算法,從多個(gè)方面介紹其詳細(xì)內(nèi)容,希望通過本文的閱讀你將對(duì)?Golang哈希算法有更全面的理解
    2023-05-05
  • 一文帶你熟悉Go語言中的for循環(huán)

    一文帶你熟悉Go語言中的for循環(huán)

    這篇文章主要和大家分享一下Go語言中for循環(huán)的定義與使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考一下
    2022-11-11

最新評(píng)論