Go-Grundlagen

Go Slices: append, len and cap

The list type you will use most in Go: grow it with append, cut it with [a:b], and watch out for shared memory.

  • Einsteiger
  • 3 Min. Lesezeit
  • 1 ausführbares Beispiel
Das lernst du
  • append
  • Slicing with [a:b]
  • make, len and cap
numbers[1:4]
30
11
42
13
54
The slice covers indexes 1, 2 and 3.

A growable view of an array

A slice is a view of an array that can grow. It is the list type you will use most in Go. append adds items and returns the updated slice.

numbers[1:4] takes the items at positions 1, 2 and 3. That new slice shares memory with numbers, so changing middle[0] also changes numbers[1]. make creates an empty slice with room for three items, and cap shows that room.

Das Wichtigste

  1. append returns the updated slice.
  2. numbers[1:4] has the items at 1, 2 and 3.
  3. A slice shares memory with the slice it was cut from.

Ausführbares Go-Beispiel

Go
Code ausführen →
main.go
package main

import "fmt"

func main() {
	numbers := []int{3, 1, 4}
	numbers = append(numbers, 1, 5)
	fmt.Println(numbers, len(numbers))

	middle := numbers[1:4]
	fmt.Println(middle)

	middle[0] = 100 // a slice shares the array it was cut from
	fmt.Println(numbers)

	squares := make([]int, 0, 3)
	for i := 1; i <= 3; i++ {
		squares = append(squares, i*i)
	}
	fmt.Println(squares, len(squares), cap(squares))

	for index, value := range squares {
		fmt.Println(index, value)
	}
}
Run-Button für dieses Beispiel erstellen Ergebnis der Ausführung
[3 1 4 1 5] 5
[1 4 1]
[3 100 4 1 5]
[1 4 9] 3 3
0 1
1 4
2 9

Üben

Öffne das Beispiel im Online-Compiler, ändere einen Wert oder füge eine Zeile hinzu und sage die Ausgabe voraus, bevor du es ausführst. Bring den Code danach absichtlich zum Scheitern und lies die Meldung des Compilers.

Lektion fertig?

Markiere sie als gelernt, um deinen Fortschritt zu verfolgen.

Weiter: Maps →

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges