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++
}
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!