Sobes.tech
Junior — Middle

Welche eingebauten Funktionen und Operationen sind für einen Slice erlaubt, der noch nicht initialisiert wurde?

sobes.tech KI

Antwort von AI

In Go kann eine Slice, die nicht initialisiert wurde (also nil ist), für folgende Operationen verwendet werden:

  • Nil-Überprüfung: if slice == nil {}
  • Länge und Kapazität ermitteln: len(slice) und cap(slice) geben 0 zurück
  • Es ist möglich, Elemente mit append hinzuzufügen, zum Beispiel:
var s []int // nil-Slice
s = append(s, 1, 2, 3) // jetzt ist die Slice initialisiert und enthält Elemente

Allerdings ist es nicht möglich, auf Elemente per Index zuzugreifen, zum Beispiel s[0], wenn die Slice nil oder leer ist — das führt zu einem Panic.