Sobes.tech
Junior — Middle

Wie unterscheidet man die Methoden zur Erstellung eines Slices in Go mit var, make und Zuweisung nach Index oder durch append?

sobes.tech KI

Antwort von AI

In Go können Slices auf verschiedene Weisen erstellt werden, die sich in der Initialisierung und Speicherzuweisung unterscheiden:

  1. Deklaration mit var — erstellt eine nil-Slice, die nicht auf ein Array zeigt und eine Länge sowie Kapazität von 0 hat.
var s []int // nil-Slice
  1. Erstellung einer Slice mit make — weist ein Array mit der angegebenen Länge und Kapazität zu und gibt eine Slice zurück, die auf dieses Array zeigt.
s := make([]int, 5) // Slice mit Länge 5, gefüllt mit Nullen
  1. Indexzuweisung — nur möglich, wenn die Slice bereits initialisiert ist und eine ausreichende Länge hat.

  2. Hinzufügen von Elementen mit append — fügt Elemente zur Slice hinzu, erhöht bei Bedarf die Kapazität und weist ein neues Array zu.

s = append(s, 10) // fügt das Element 10 zur Slice hinzu

Auf diese Weise erstellt var eine leere nil-Slice, make eine Slice mit zugewiesenem Speicher, die Indexzuweisung erfordert eine bestehende Länge, und append erweitert die Slice dynamisch.