Sobes.tech
Junior — Middle

Quali funzioni e operazioni integrate sono consentite per uno slice che non è ancora stato inizializzato?

sobes.tech AI

Risposta dell'AI

In Go, una slice che non è stata inizializzata (cioè, è uguale a nil) può essere usata per le seguenti operazioni:

  • Controllo di nil: if slice == nil {}
  • Ottenere lunghezza e capacità: len(slice) e cap(slice) restituiranno 0
  • È possibile aggiungere elementi usando append, ad esempio:
var s []int // slice nil
s = append(s, 1, 2, 3) // ora la slice è inizializzata e contiene elementi

Tuttavia, non si può accedere agli elementi per indice, ad esempio s[0], se la slice è nil o vuota — ciò causerà un panic.