Sobes.tech
Junior — Middle

Welke ingebouwde functies en bewerkingen zijn toegestaan voor een slice die nog niet is geïnitialiseerd?

sobes.tech AI

Antwoord van AI

In Go kan een slice die niet is geïnitialiseerd (dus gelijk is aan nil) worden gebruikt voor de volgende operaties:

  • Controle op nil: if slice == nil {}
  • Het verkrijgen van lengte en capaciteit: len(slice) en cap(slice) geven 0 terug
  • Elementen toevoegen met append, bijvoorbeeld:
var s []int // nil-slice
s = append(s, 1, 2, 3) // nu is de slice geïnitialiseerd en bevat elementen

Echter, je kunt niet naar elementen op index zoeken, bijvoorbeeld s[0], als de slice nil of leeg is — dit zal een panic veroorzaken.