0Pricing
Go Academy · Lektion

Slices sortieren

sort.Slice und Hilfsfunktionen

Slices sortieren ist eine kostenlose Go Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Go Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Sortieren wichtig ist

Sortieren bringt Elemente in eine definierte Reihenfolge. Gos sort-Paket aus der Standardbibliothek erledigt dies effizient.

In Go schreiben Sie nur selten Ihren eigenen Sortieralgorithmus. Stattdessen rufen Sie Hilfsfunktionen auf, die mit Slices arbeiten.

sort importieren

Um das Paket zu verwenden, importieren Sie es mit import "sort". Es gehört zur Standardbibliothek, daher ist kein externer Download erforderlich.

package main

import (
	"fmt"
	"sort"
)

func main() {
	fmt.Println("sort imported")
	_ = sort.IntsAreSorted([]int{1, 2, 3})
}

Integer sortieren

sort.Ints sortiert ein Slice vom Typ int aufsteigend und direkt im Slice. Das ursprüngliche Slice wird verändert.

package main

import (
	"fmt"
	"sort"
)

func main() {
	nums := []int{5, 2, 8, 1, 9}
	sort.Ints(nums)
	fmt.Println(nums)
}

Strings sortieren

sort.Strings sortiert ein String-Slice lexikografisch, also alphabetisch in Byte-Reihenfolge.

package main

import (
	"fmt"
	"sort"
)

func main() {
	words := []string{"banana", "apple", "cherry"}
	sort.Strings(words)
	fmt.Println(words)
}

Gleitkommazahlen sortieren

sort.Float64s sortiert ein Slice mit Werten vom Typ float64 aufsteigend.

package main

import (
	"fmt"
	"sort"
)

func main() {
	values := []float64{3.2, 1.5, 2.8}
	sort.Float64s(values)
	fmt.Println(values)
}

sort.Slice

sort.Slice sortiert jedes Slice mithilfe einer von Ihnen bereitgestellten less-Funktion. Die Funktion erhält die beiden Indizes i und j und gibt true zurück, wenn Element i vor Element j stehen soll.

package main

import (
	"fmt"
	"sort"
)

func main() {
	nums := []int{5, 2, 8, 1}
	sort.Slice(nums, func(i, j int) bool {
		return nums[i] < nums[j]
	})
	fmt.Println(nums)
}

Absteigende Reihenfolge

Für eine absteigende Sortierung drehen Sie den Vergleich in der less-Funktion um: return nums[i] > nums[j].

package main

import (
	"fmt"
	"sort"
)

func main() {
	nums := []int{5, 2, 8, 1}
	sort.Slice(nums, func(i, j int) bool {
		return nums[i] > nums[j]
	})
	fmt.Println(nums)
}

Structs sortieren

sort.Slice ist besonders nützlich für Structs. Sie entscheiden, welches Feld die Reihenfolge bestimmt.

package main

import (
	"fmt"
	"sort"
)

type Person struct {
	Name string
	Age  int
}

func main() {
	people := []Person{{"Bob", 30}, {"Alice", 25}}
	sort.Slice(people, func(i, j int) bool {
		return people[i].Age < people[j].Age
	})
	fmt.Println(people)
}

Prüfen, ob sortiert ist

Hilfsfunktionen wie sort.IntsAreSorted und sort.SliceIsSorted geben true zurück, wenn ein Slice bereits sortiert ist, ohne es zu verändern.

package main

import (
	"fmt"
	"sort"
)

func main() {
	nums := []int{1, 2, 3}
	fmt.Println(sort.IntsAreSorted(nums))
}

Direkte Änderung

Alle diese Funktionen sortieren direkt im Slice. Sie geben kein neues Slice zurück. Nach dem Aufruf von sort.Ints(s) ist die Variable s selbst neu geordnet.

package main

import (
	"fmt"
	"sort"
)

func main() {
	s := []int{3, 1, 2}
	sort.Ints(s)
	fmt.Println("s is now:", s)
}

Die richtige Hilfsfunktion wählen

Verwenden Sie die typisierten Hilfsfunktionen (sort.Ints, sort.Strings, sort.Float64s) für einfache Slices. Verwenden Sie sort.Slice, wenn Sie eine eigene Regel benötigen oder Structs sortieren.

  • sort.Ints – Integer aufsteigend
  • sort.Slice – beliebige Daten nach Ihrer Regel

Kurzer Test

Was gibt die less-Funktion in sort.Slice zurück?

Zusammenfassung

Sie haben gelernt, mit dem sort-Paket zu sortieren:

  • sort.Ints, sort.Strings, sort.Float64s für typisierte Slices
  • sort.Slice mit einer less-Funktion für eigene Regeln und Structs
  • Alle Sortiervorgänge erfolgen direkt im Slice

Häufig gestellte Fragen

Ist die Lektion „Slices sortieren“ kostenlos?

Ja — der vollständige Text von „Slices sortieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Go Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Slices sortieren“?

sort.Slice und Hilfsfunktionen Du übst Go Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Go Academy zu starten?

Keine Vorkenntnisse erforderlich. Go Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Slices sortieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Go Academy-Lektion Code schreiben und ausführen?

Ja. Jede Go Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Slices sortieren
  2. Benutzerdefinierte Sortierreihenfolgen
  3. Sortierte Daten durchsuchen
  4. Stabiles Sortieren
← Zurück zu Go Academy