Junior — Middle
Was bedeutet die Eigenschaft capacity bei einem Slice in Go, wenn sie bei der Erstellung nicht explizit angegeben wird?
sobes.tech KI
Antwort von AI
In Go ist ein Slice eine Struktur, die einen Zeiger auf ein Array, eine Länge (len) und eine Kapazität (capacity) enthält.
Wenn bei der Erstellung eines Slices die Kapazität nicht explizit angegeben wird, wird sie auf die Länge des Slices gesetzt. Die Kapazität zeigt, wie viele Elemente das Slice aufnehmen kann, ohne dass neuer Speicher zugewiesen wird.
Zum Beispiel:
s := make([]int, 3) // len=3, cap=3
Hier ist die Kapazität 3, da sie nicht separat angegeben wurde.
Wenn die Kapazität größer als die Länge ist, kann das Slice bis zur Kapazität erweitert werden, ohne dass ein neuer Array zugewiesen wird.