Slices
Slices ähneln Arrays, besitzen jedoch dynamische Längen und sind somit eine flexiblere Alternative zu Arrays.
Um ein Slice zu erstellen, wird die gleiche Syntax wie bei Arrays verwendet, jedoch wird in diesem Fall die Größe weggelassen.
Erstellung eines Slices mit dem var-Schlüsselwort:
// Creates an empty slice with no elements
var sliceName [] dataType
// Creates a slice with the specified elements
var sliceName = [] dataType {element_1, element_2, ...}
Erstellung eines Slices mit dem :=-Operator:
// Creates a slice with the specified elements
sliceName := [] dataType { element_1, element_2, ... }
Zusätzliche Elemente können einem Slice mit der Funktion append hinzugefügt werden. Die Funktion append gibt ein neues Slice mit den angehängten Elementen zurück, das anschließend in der ursprünglichen Slice-Variable gespeichert werden kann. Dies wird anhand eines Beispiels deutlicher. Die grundlegende Syntax der Funktion append ist wie folgt:
append(originalSlice, newElement1, newElement2, …)
Der folgende Code demonstriert die Verwendung der Funktion append:
index.go
1234randomNumbers := [] 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 auf Teilbereiche eines Arrays mit folgender Syntax zugreifen:
index.go
1arrayName[startIndex:endIndex + 1]
Es werden alle Elemente vom startingIndex bis zum endingIndex extrahiert. Beachten Sie, dass wir endingIndex + 1 angeben müssen. Dies wird mit einem Beispiel deutlicher. Zum Beispiel:
index.go
12var 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 Index 4 bis 9, einschließlich des Elements bei Index 4 und ausschließlich des Elements bei Index 9, wie in der Syntax dargestellt:
index.go
1arrayName[startingIndex:endingIndex + 1]
Wir können diesen extrahierten Teil des Arrays auch in einer Variablen speichern und so ein Slice erstellen:
index.go
123var 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 solches Slice auf den Teil des Arrays verweist, aus dem es erstellt wurde. Folglich wirken sich Änderungen an diesem Slice auch auf das ursprüngliche Array aus:
index.go
12345678910111213package 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] }
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show an example of how to use the append function with slices?
How do I access or modify elements in a slice?
What happens if I append elements to a slice created from an array?
Awesome!
Completion rate improved to 1.96
Slices
Swipe um das Menü anzuzeigen
Slices ähneln Arrays, besitzen jedoch dynamische Längen und sind somit eine flexiblere Alternative zu Arrays.
Um ein Slice zu erstellen, wird die gleiche Syntax wie bei Arrays verwendet, jedoch wird in diesem Fall die Größe weggelassen.
Erstellung eines Slices mit dem var-Schlüsselwort:
// Creates an empty slice with no elements
var sliceName [] dataType
// Creates a slice with the specified elements
var sliceName = [] dataType {element_1, element_2, ...}
Erstellung eines Slices mit dem :=-Operator:
// Creates a slice with the specified elements
sliceName := [] dataType { element_1, element_2, ... }
Zusätzliche Elemente können einem Slice mit der Funktion append hinzugefügt werden. Die Funktion append gibt ein neues Slice mit den angehängten Elementen zurück, das anschließend in der ursprünglichen Slice-Variable gespeichert werden kann. Dies wird anhand eines Beispiels deutlicher. Die grundlegende Syntax der Funktion append ist wie folgt:
append(originalSlice, newElement1, newElement2, …)
Der folgende Code demonstriert die Verwendung der Funktion append:
index.go
1234randomNumbers := [] 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 auf Teilbereiche eines Arrays mit folgender Syntax zugreifen:
index.go
1arrayName[startIndex:endIndex + 1]
Es werden alle Elemente vom startingIndex bis zum endingIndex extrahiert. Beachten Sie, dass wir endingIndex + 1 angeben müssen. Dies wird mit einem Beispiel deutlicher. Zum Beispiel:
index.go
12var 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 Index 4 bis 9, einschließlich des Elements bei Index 4 und ausschließlich des Elements bei Index 9, wie in der Syntax dargestellt:
index.go
1arrayName[startingIndex:endingIndex + 1]
Wir können diesen extrahierten Teil des Arrays auch in einer Variablen speichern und so ein Slice erstellen:
index.go
123var 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 solches Slice auf den Teil des Arrays verweist, aus dem es erstellt wurde. Folglich wirken sich Änderungen an diesem Slice auch auf das ursprüngliche Array aus:
index.go
12345678910111213package 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] }
Danke für Ihr Feedback!