0Pricing
Go Academy · Lektion

Arrays: Collections fester Länge

Array-Literale, Indizierung und Länge

Arrays: Collections fester Länge 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.

Was ist ein Array?

Ein Array in Go ist eine Sequenz gleichartiger Elemente mit fester Länge. Die Länge ist Bestandteil des Typs: [3]int und [4]int sind unterschiedliche Typen.

  • Arrays sind Werttypen – bei einer Zuweisung wird das gesamte Array kopiert
  • Die Länge ist zur Compilezeit immer bekannt
  • Arrays werden selten direkt verwendet; für die meisten Aufgaben werden Slices bevorzugt

Array-Literale

Deklarieren und initialisieren Sie Arrays mit einem Literal:

package main

func main() {
    primes := [5]int{2, 3, 5, 7, 11}
    names  := [3]string{"Alice", "Bob", "Carol"}
    flags  := [4]bool{true, false, true, false}
    _ = primes; _ = names; _ = flags
}

Array-Länge und Indexierung

Verwenden Sie len() für die Länge und eine nullbasierte Indexierung, um Elemente zu lesen oder zu schreiben:

package main
import "fmt"

func main() {
    scores := [3]int{90, 85, 92}
    fmt.Println(len(scores)) // 3
    fmt.Println(scores[0])   // 90
    scores[1] = 100
    fmt.Println(scores)      // [90 100 92]
}

Auslassungspunkte in Array-Literalen

Verwenden Sie [...], damit der Compiler die Elemente für Sie zählt:

package main
import "fmt"

func main() {
    days := [...]string{"Mon","Tue","Wed","Thu","Fri"}
    fmt.Println(len(days)) // 5
}

Arrays sind Werttypen

Wenn Sie ein Array zuweisen oder übergeben, kopiert Go das gesamte Array. Das Ändern der Kopie wirkt sich nicht auf das Original aus:

package main
import "fmt"

func main() {
    a := [3]int{1, 2, 3}
    b := a     // full copy
    b[0] = 99
    fmt.Println(a) // [1 2 3] — unchanged
    fmt.Println(b) // [99 2 3]
}

Arrays vergleichen

Arrays desselben Typs und derselben Länge können mit == und != verglichen werden:

package main
import "fmt"

func main() {
    x := [3]int{1, 2, 3}
    y := [3]int{1, 2, 3}
    z := [3]int{1, 2, 4}
    fmt.Println(x == y) // true
    fmt.Println(x == z) // false
}

2D-Arrays

Arrays können verschachtelt werden, um Gitter oder Matrizen zu bilden:

package main
import "fmt"

func main() {
    grid := [2][3]int{
        {1, 2, 3},
        {4, 5, 6},
    }
    fmt.Println(grid[1][2]) // 6
}

Über ein Array iterieren

Verwenden Sie eine klassische for-Schleife oder range zur Iteration:

package main
import "fmt"

func main() {
    nums := [4]int{10, 20, 30, 40}
    for i, v := range nums {
        fmt.Printf("[%d] = %d\n", i, v)
    }
}

Arrays oder Slices

Die wichtigsten Unterschiede:

  • Array: feste Größe, Werttyp, die Größe ist Bestandteil des Typs
  • Slice: dynamische Größe, Referenztyp, basiert auf einem Array
  • In der Praxis sollten Sie Slices verwenden, sofern Sie keine zur Compilezeit festen Größe benötigen (z. B. einen SHA-256-Hash [32]byte)

Häufige Fallstricke

Achten Sie auf Folgendes:

  • Index außerhalb des gültigen Bereichs – Go löst zur Laufzeit einen Panic aus, wenn i >= len(arr) gilt
  • Das Übergeben großer Arrays an Funktionen verursacht teure Kopiervorgänge – verwenden Sie stattdessen Pointer oder Slices
  • Vergessen Sie nicht, dass [3]int und [4]int inkompatible Typen sind

Kurze Überprüfung

Welche Länge hat [...]string{"a","b","c"}?

Rückblick: Arrays

Die wichtigsten Punkte:

  • Arrays haben eine feste, zur Compilezeit bestimmte Länge, die Bestandteil des Typs ist
  • Sie sind Werttypen – bei einer Zuweisung werden alle Elemente kopiert
  • Verwenden Sie len() und eine nullbasierte Indexierung
  • Bevorzugen Sie für die meisten Sammlungsaufgaben Slices

Übungsaufgabe

Deklarieren Sie ein Array mit 5 Ganzzahlen, weisen Sie dem dritten Element den Wert 100 zu und geben Sie das Array anschließend mit range aus.

Häufig gestellte Fragen

Ist die Lektion „Arrays: Collections fester Länge“ kostenlos?

Ja — der vollständige Text von „Arrays: Collections fester Länge“ 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 „Arrays: Collections fester Länge“?

Array-Literale, Indizierung und Länge 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 „Arrays: Collections fester Länge“?

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. Arrays: Collections fester Länge
  2. Slices: dynamische Listen
  3. Maps: Schlüssel-Wert-Speicher
  4. Collections mit range durchlaufen
← Zurück zu Go Academy