Junior — Middle
Ce se întâmplă dacă creezi o secțiune cu o valoare nulă și ce operații sunt permise cu ea?
sobes.tech AI
Răspuns de la AI
În Go, o slice cu valoare zero este o slice nil. Nu indică către niciun array și are lungimea și capacitatea egală cu zero.
Operațiuni permise cu o astfel de slice:
- Obținerea lungimii și capacității (
len(slice) == 0,cap(slice) == 0) - Iterarea peste slice (ciclul nu se va executa)
- Adăugarea de elemente prin
append, ceea ce va crea o nouă slice cu memorie alocată
Exemplu:
var s []int // slice nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // acum s nu este nil, conține un element
Nu se poate accesa elemente după index, deoarece slice-ul este gol și acest lucru va provoca o panică.