首頁 >後端開發 >Golang >golang循環遍歷map的方式有幾種

golang循環遍歷map的方式有幾種

青灯夜游
青灯夜游原創
2023-01-16 10:23:355549瀏覽

golang循環遍歷map的方式有1種,就是利用「for range」語句。 “for range”是Go語言特有的一種的迭代結構,語法“for key, value := range mapName{...}”,返回的第一個是map的key,返回的第二個是map的value;如果只使用一個回傳參數接受,那麼回傳的是map的key。

golang循環遍歷map的方式有幾種

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Go 語言 中 map 的遍歷只能使用 for range 的形式,for range 迴圈回傳的第一個是 map 的 key,回傳的第二個是 map 的 value。

使用 for range 遍歷 map,如果我們只使用一個回傳參數接受,那麼傳回的是 map 的 key。因此 map 是無序的,因此同一個 map,每次遍歷所獲得的結果的順序很可能是不一致的。

for range循環遍歷map語法

  • #遍歷map的key和value

  • ##
    for key, value := range mapName{
    ...
    }
使用for range 迴圈遍歷變數名稱為mapName 的map ,其中key 是map 的鍵,value 是map 的key 所對應的值。

  • 遍歷map的key

  • for key := range mapName{
    ...
    }
#使用for range 循環遍歷map 時,如果只使用一個回傳值接受,那麼傳回的就是map的key。

  • 遍歷map的value

  • for _, value := range mapName{
    ...
    }
如果我們只希望取得map 的所有的元素,那麼我們可以使用

_ 忽略key 的值;將不需要的鍵使用_改為匿名變數形式。 。

for range循環遍歷map的範例

範例1:使用for range 循環遍歷map,取得map 的KEY 和VALUE

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for key, value := range mapHaiCoder{
		fmt.Println("Key =", key, "Value =", value)
	}
}

golang循環遍歷map的方式有幾種

範例2:使用for range 循環遍歷map 的所有的key

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for key := range mapHaiCoder{
		fmt.Println("Key =", key, "Value =", mapHaiCoder[key])
	}
}

golang循環遍歷map的方式有幾種

範例3:遍歷map的value

如果我們只是希望取得map 的所有的元素,那麼我們可以使用_ 忽略key 的值

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for _, value := range mapHaiCoder{
		fmt.Println("Value =", value)
	}
}

golang循環遍歷map的方式有幾種

【相關推薦:

Go影片教學程式教學

以上是golang循環遍歷map的方式有幾種的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn