Golang - map如何順序讀取


    map用for range遍歷不能保證順序輸出,原因:在range時為引用類型(slice,map,channel)創建索引,而map的索引是未被指定的,所以無序。

  解決方案:通過sort中的排序包進行對map中的key進行排序。

package main import ( "fmt"
    "sort" ) func main() { var m = map[string]int{ "9": 0, "2": 1, "5": 2, "1": 3, } var keys []string
    for k := range m { keys = append(keys, k) } sort.Strings(keys) //升序 for _, k := range keys { fmt.Println("Key:", k, "Value:", m[k]) } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM