golang學習之map排序方法

2021-10-06 19:09:22 字數 711 閱讀 2232

實際操作中遇到map無法排序問題,借鑑前輩的方案(親測可行)

注意:golang中的map預設是無序的,每次遍歷,得到的輸出結果可能不一樣。

golang中的map排序

將map的key放到切片中;

對切片排序;

遍歷切片,然後來按key來輸出map的值。

package main

import (

"sort"

"fmt"

)func main()

func locktest()

//根據key排序

func sortmap2(mp map[string]int)

//2.對切片排序

sort.strings(newmap)

//3.遍歷切片,然後按key來輸出map的值

for _, v := range newmap

}//根據value排序

func sortmap(mp map[string]int)

sort.ints(newmp)

for k, v := range newmp

}

執行結果如下圖所示:

Golang學習筆記 map

字典是一組 無序的 鍵值對 的 集合 字典也叫做 關聯陣列 因為陣列通過 索引 來查詢元素,而字典通過 鍵 來查詢元素。當然,很顯然的,字典的鍵是不能重複的。如果試圖賦值給同乙個鍵,後賦值的值將覆蓋前面賦值的值。字典的定義也有兩種,一種是 初始化資料 的定義方式,另一種是 使用神奇的make函式 來...

golang 之 map 新玩法

筆者接觸 golang 也有兩年的時間了,最常用的以string為key map 型別無非就是 map string 基礎型別 int string float等 map string inte ce map string struct 這幾類,說來慚愧,以前抽象資料結構,在用多維 map 的時候都...

Golang通脈之map詳情

目錄 go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的鍵值對的集合。map 最重要的一點是通過 key 來快速檢索資料,key類似於索引,指向資料的值 map 是一種集合,所以可以像迭代陣列和切片那樣迭代它。不過,map 是無序的,無法決定它的返回順序,這是...