Junior — Middle
Können Sie erklären, was ein Slice in der Programmierung ist und wie es funktioniert?
sobes.tech KI
Antwort von AI
Ein Slice in Go ist ein dynamischer, veränderbarer Ausschnitt eines Arrays. Es ist eine Struktur, die enthält:
- einen Zeiger auf das erste Element des Arrays,
- die Länge (Anzahl der Elemente im Slice),
- die Kapazität (die maximale Anzahl der Elemente, die das Slice ohne Neuallokation enthalten kann).
Slices ermöglichen die Arbeit mit Elementsequenzen, ohne Daten kopieren zu müssen.
Beispiel für die Erstellung und Verwendung eines Slices:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // Slice der Elemente mit den Indizes 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // fügt ein Element hinzu, bei Bedarf wird neuer Speicher zugewiesen
fmt.Println(slice) // [2 3 4 6]
Slices sind praktisch, weil man neue Slices aus bestehenden erstellen, ihre Größe ändern und an Funktionen übergeben kann, ohne das ganze Array zu kopieren.