Go map排序的實現(xiàn)示例
更新時間:2023年12月25日 10:21:24 作者:metabit
map默認(rèn)是無序的,不管是按照key還是按照value默認(rèn)都不排序,本文主要介紹了Go map排序的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
1. 將key 或 value 單獨組成其類型的切片或數(shù)組,進(jìn)行排序
package main
import (
"fmt"
"sort"
)
func main() {
table := map[string]string{
"hello": "hello",
"world": "world",
"a": "a",
"b": "b",
"c": "c",
"d": "d",
}
var keys, values []string
for k, v := range table {
keys = append(keys, k)
values = append(values, v)
}
sort.Slice(keys, func(i, j int) bool {
if keys[i] < keys[j] {
//keys[i], keys[j] = keys[j], keys[i]
values[i], values[j] = values[j], values[i]
return true
}
return false
})
fmt.Println(keys)
fmt.Println(values)
}
可以根據(jù)有序的key,找到對應(yīng)的value
for _, key := range keys {
fmt.Println(table[key])
}
2. 將key,value放入結(jié)構(gòu)體,對結(jié)構(gòu)體切片排序,既可以對key排序,又可以對value排序
type Entity struct {
K string
V string
}
table := map[string]string{
"hello": "hello",
"world": "world",
"a": "a",
"b": "b",
"c": "c",
"d": "d",
}
var entities []Entity
for k, v := range table {
entities = append(entities, Entity{k, v})
}
sort.Slice(entities, func(i, j int) bool {
return entities[i].K < entities[j].K
})
fmt.Println(entities)到此這篇關(guān)于Go map排序的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)GO map排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
GO 函數(shù)式選項模式(Functional Options Pattern)
Option模式支持傳遞多個參數(shù),并且在參數(shù)個數(shù)、類型發(fā)生變化時保持兼容性,任意順序傳遞參數(shù),下面給大家介紹GO 函數(shù)式選項模式(Functional Options Pattern)的相關(guān)知識,感興趣的朋友一起看看吧2021-10-10
golang 定時任務(wù)方面time.Sleep和time.Tick的優(yōu)劣對比分析
這篇文章主要介紹了golang 定時任務(wù)方面time.Sleep和time.Tick的優(yōu)劣對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05
golang中g(shù)in框架接入jwt使用token驗證身份
本文主要介紹了golang中g(shù)in框架接入jwt使用token驗證身份,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
使用Go語言生成Excel任務(wù)表依賴圖的代碼實現(xiàn)
在游戲中,任務(wù)是非常常見的玩法,可能會有主線任務(wù),支線任務(wù)以及其它一些類型的任務(wù),當(dāng)任務(wù)比較多的時候,它們的依賴關(guān)系將變得不直觀,很容易出錯,所以本文介紹了使用Go語言生成Excel任務(wù)表依賴圖的代碼實現(xiàn),需要的朋友可以參考下2025-09-09
golang 對私有函數(shù)進(jìn)行單元測試的實例
這篇文章主要介紹了golang 對私有函數(shù)進(jìn)行單元測試的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05

