Sobes.tech
Junior — Middle

Čo obsahuje neinicializovaný rez v programovacom jazyku?

sobes.tech AI

Odpoveď od AI

V jazyku Go je slice štruktúra, ktorá obsahuje tri polia: ukazovateľ na pole, dĺžku (len) a kapacitu (capacity). Ak nie je slice inicializovaný, teda je deklarovaný, ale mu nie je priradená hodnota, má hodnotu nil.

Neinicializovaný slice:

  • Ukazovateľ je rovný nil.
  • Dĺžka a kapacita sú 0.

Príklad:

var s []int
fmt.Println(s == nil) // true
fmt.Println(len(s))    // 0
fmt.Println(cap(s))    // 0

Takýto slice neukazuje na žiadny pole a neobsahuje žiadne prvky. Môže byť bezpečne použitý v operáciách, napríklad pridávaním prvkov pomocou append, po čom bude slice automaticky inicializovaný.