Junior — Middle
Cosa succede se si crea una slice con un valore nullo e quali operazioni sono consentite con essa?
sobes.tech AI
Risposta dell'AI
In Go, una slice con valore nullo è una slice nil. Non punta a nessun array e ha lunghezza e capacità uguali a zero.
Operazioni consentite con una tale slice:
- Ottenere lunghezza e capacità (
len(slice) == 0,cap(slice) == 0) - Iterare sulla slice (il ciclo semplicemente non verrà eseguito)
- Aggiungere elementi tramite
append, che creerà una nuova slice con memoria allocata
Esempio:
var s []int // slice nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // ora s non è nil, contiene un elemento
Non è possibile accedere agli elementi tramite indice, poiché la slice è vuota e ciò causerà un panic.