Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Slices | Arrays und Slices
Einführung in Golang
course content

Kursinhalt

Einführung in Golang

Einführung in Golang

1. Erste Schritte
2. Datentypen
3. Kontrollstrukturen
4. Funktionen
5. Arrays und Slices
6. Einführung in Strukturen & Maps

book
Slices

Slices ähneln Arrays, aber sie besitzen dynamische Längen, was sie zu einer flexibleren Alternative zu Arrays macht.

Um ein Slice zu erstellen, verwenden wir die gleiche Syntax wie für Arrays, aber in diesem Fall geben wir die Größe nicht an.

Erstellen eines Slices mit dem var Schlüsselwort:

Erstellen eines Slices mit dem := Operator:

Wir können zusätzliche Elemente zu einem Slice mit der append Funktion hinzufügen. Die append Funktion gibt ein neues Slice mit den angehängten Elementen zurück, das wir dann in der ursprünglichen Slice-Variable speichern können. Dies wird mit einem Beispiel deutlicher. Die grundlegende Syntax der append Funktion ist wie folgt:

Der folgende Code demonstriert die Verwendung der append Funktion:

go

index

copy
1234
randomNumbers := [] int { 1, 4, 5} fmt.Println(randomNumbers) // Output: [1 4 5] randomNumbers = append(randomNumbers, 7, 9) fmt.Println(randomNumbers) // Output: [1 4 5 7 9]

Auf die gleiche Weise, wie wir auf Elemente innerhalb eines Arrays zugreifen können, können wir auch Teile eines Arrays mit der folgenden Syntax referenzieren:

go

index

copy
1
arrayName[startIndex:endIndex + 1]

Es werden alle Elemente vom startingIndex bis zum endingIndex extrahiert. Bitte beachten Sie, dass wir endingIndex + 1 angeben müssen. Dies wird mit einem Beispiel deutlicher. Zum Beispiel:

go

index

copy
12
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } fmt.Println(numbers[4:9]) // Output: [10 12 14 16 17]

Es extrahiert die Elemente von den Indizes 4 bis 9, einschließlich des Elements bei Index 4 und ausschließlich des Elements bei Index 9, wie im Syntax ausgedrückt:

go

index

copy
1
arrayName[startingIndex:endingIndex + 1]

Wir können diesen extrahierten Teil des Arrays auch in einer Variablen speichern und so einen Slice erstellen:

go

index

copy
123
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } numbersPart := numbers[2:7] fmt.Println(numbersPart) // Output: [6 9 10 12 14]

Es ist wichtig zu beachten, dass ein solcher Slice auf den Teil des Arrays verweist, aus dem er erstellt wurde. Folglich wirken sich alle Änderungen, die in diesem Slice vorgenommen werden, auch auf das ursprüngliche Array aus:

go

index

copy
12345678910111213
package main import "fmt" func main() { var pin = [4] int { 1, 2, 3, 4 } part := pin[1:3] fmt.Println(pin) // Output [1, 2, 3, 4] fmt.Println(part) // Output: [2, 3] part[0] *= 2 part[1] *= 3 fmt.Println(part) // Output [4, 9] fmt.Println(pin) // Output [1, 4, 9, 4] }
Was wird die Ausgabe des folgenden Codes sein?

Was wird die Ausgabe des folgenden Codes sein?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 3
We're sorry to hear that something went wrong. What happened?
some-alt