Umgekehrtes Sortieren eines ganzzahligen Segments in Go
In Go kann es sein, dass Sie ein Segment von ganzen Zahlen in absteigender Reihenfolge sortieren müssen ( vom höchsten zum niedrigsten). Während die Funktion sort.Ints eine einfache Möglichkeit zum Sortieren von Werten in aufsteigender Reihenfolge bietet, bietet sie keine Option für die umgekehrte Sortierung.
Um eine umgekehrte Sortierung zu erreichen, haben Sie versehentlich versucht, sort.Sort(sort.Reverse zu verwenden (sort.Ints(keys))) in Verbindung mit der Funktion sort.Reverse. sort.Ints ist jedoch für die direkte Verwendung mit der Sortierfunktion für int-Arrays konzipiert und der Versuch, es als Wert innerhalb von sort.Sort zu verwenden, führt zu einem Kompilierungsfehler.
Die Lösung liegt in der Verwendung des vordefinierten IntSlice Typ, der vom Paket sort bereitgestellt wird, das die Schnittstelle sort.Interface implementiert. Mit diesem Typ können Sie benutzerdefinierte Sortierstrategien implementieren, einschließlich umgekehrter Sortierung.
Beispiel:
keys := []int{3, 2, 8, 1} sort.Sort(sort.Reverse(sort.IntSlice(keys))) fmt.Println(keys) // Output: [8 3 2 1]
Durch die Verwendung von sort.IntSlice und seiner Reverse-Implementierung können Sie dies effektiv tun Sortieren Sie Ihr Ganzzahlsegment in Go um.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Integer-Slice in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!