Heim > Backend-Entwicklung > Golang > Wie sortiere ich eine Go-Map nach ihren Werten?

Wie sortiere ich eine Go-Map nach ihren Werten?

Patricia Arquette
Freigeben: 2024-12-20 07:56:13
Original
182 Leute haben es durchsucht

How to Sort a Go Map by its Values?

Sortieren einer Karte nach ihren Werten in Go

Das Sortieren einer Karte nach ihren Werten in Go erfordert eine benutzerdefinierte Implementierung der Sortierschnittstelle. Hier ist eine Lösung, die einen PairList-Typ implementiert und notwendige Funktionen zum Sortieren definiert:

<br>func rankByWordCount(wordFrrequencies map[string]int) PairList {<br> pl := make(PairList, len(wordFrequences))<br> i := 0<br> für k, v := Bereich WortFrequenzen {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">pl[i] = Pair{k, v}
i++
Nach dem Login kopieren

}
sort.Sort(sort.Reverse(pl))
return pl
}

type Pair struct {
Schlüsselzeichenfolge
Wert int
}

Typ PairList []Pair

func (p PairList) Len() int { return len(p) }
func (p PairList) Less(i, j int) bool { return p[i].Value < ; p[j].Value }
func (p PairList) Swap(i, j int){ p[i], p[j] = p[j], p[i] }

Mit der Funktion rankByWordCount können Sie eine Karte sortieren nach folgt:

<br>wordFrequences := map[string]int{<br> "hello": 10,<br> "foo": 20,<br> "bar": 20 ,<br>}</p>
<p>sortedPairs := rankByWordCount(wordFrequences)</p>
<p>für _, Paar := Bereich sortiertPairs {<br> fmt.Println(pair.Key, pair.Value)<br>}<br>

Ausgabe:

<br>foo 20<br>bar 20<br>hello 10<br>

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Go-Map nach ihren Werten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage