Heim >Backend-Entwicklung >Golang >Wie sortiere ich ein Segment von Ganzzahlen in Go in umgekehrter Reihenfolge?

Wie sortiere ich ein Segment von Ganzzahlen in Go in umgekehrter Reihenfolge?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-18 07:43:02616Durchsuche

How do I sort a slice of integers in reverse order in Go?

Sortieren eines Teils von Ganzzahlen in umgekehrter Reihenfolge in Go

In Go ist das Sortieren eines Teils von Ganzzahlen in aufsteigender Reihenfolge mithilfe der Sortierfunktion ganz einfach .Ints-Funktion. Wenn Sie jedoch in umgekehrter Reihenfolge sortieren müssen, kann der Vorgang verwirrend sein.

Um das Problem zu verstehen, unterteilen wir es in Schritte:

  1. Sortieren Sie den Slice in aufsteigender Reihenfolge using sort.Ints:
example := []int{1, 25, 3, 5, 4}
sort.Ints(example) // [1, 3, 4, 5, 25]
  1. Versuchen Sie, die Sortierung wie folgt umzukehren Code:
sort.Sort(sort.Reverse(sort.Ints(keys)))

Dieser Ansatz führt jedoch zu einem Fehler, da sort.Ints eine Funktion ist, die das Slice direkt sortiert, und kein Slice zurückgibt.

Die Lösung besteht darin, den Typ sort.IntSlice zu verwenden, der die Schnittstelle sort.Interface für Slices von Ganzzahlen implementiert. Dadurch können wir den Slice mit der Methode „Reverse“ sortieren:

keys := []int{3, 2, 8, 1}
sort.Sort(sort.Reverse(sort.IntSlice(keys)))
fmt.Println(keys) // [8, 3, 2, 1]

In diesem Beispiel werden die Schlüssel mit der Methode „sort.Reverse“ vom höchsten zum niedrigsten sortiert.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Segment von Ganzzahlen in Go in umgekehrter Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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