So sortieren Sie ein Segment von Ganzzahlen in Go umgekehrt
In Go kann es vorkommen, dass Sie ein Segment von ganzen Zahlen umgekehrt sortieren müssen Ganzzahlen, wobei die höchste Zahl zuerst aufgeführt wird. Dies unterscheidet sich vom Standardsortierverhalten, bei dem vom niedrigsten zum höchsten sortiert wird.
Um eine umgekehrte Sortierung zu erreichen, können Sie sort.Ints und sort.Reverse nicht einfach kombinieren. Durch die Verwendung von sort.Ints wird eine praktische Funktion zum Sortieren einiger Ints erstellt, während sort.Reverse einen Typ erwartet, der die Schnittstelle sort.Interface implementiert. Das Sortierpaket stellt jedoch einen vordefinierten Typ namens IntSlice bereit, der dieses Problem löst:
Lösung:
keys := []int{3, 2, 8, 1} sort.Sort(sort.Reverse(sort.IntSlice(keys))) fmt.Println(keys) // Output: [8 3 2 1]
IntSlice ist ein Slice von Ganzzahlen, das sort.Interface implementiert , was bedeutet, dass es nach der Less-Methode sortiert werden kann. sort.Reverse erstellt einen neuen Typ, der die Reihenfolge von Less umkehrt und so effektiv eine umgekehrte Sortierung ermöglicht.
Mit dieser Methode können Sie Slices von Ganzzahlen effizient umkehren, ohne dass benutzerdefinierte Sortieralgorithmen oder komplizierte Schnittstellen erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Segment von Ganzzahlen in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!