Junior — Middle
Wat gebeurt er als je een slice met een nulwaarde maakt en welke bewerkingen zijn ermee toegestaan?
sobes.tech AI
Antwoord van AI
In Go is een slice met een nulwaarde een nil slice. Het wijst niet naar een array en heeft een lengte en capaciteit van nul.
Toegestane bewerkingen met zo'n slice:
- Het verkrijgen van de lengte en capaciteit (
len(slice) == 0,cap(slice) == 0) - Iteratie over de slice (de lus wordt gewoon niet uitgevoerd)
- Toevoegen van elementen via
append, wat een nieuwe slice met toegewezen geheugen creëert
Voorbeeld:
var s []int // nil slice
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // nu is s niet nil, bevat één element
Het is niet mogelijk om elementen op index te benaderen, omdat de slice leeg is en dit een panic veroorzaakt.