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ý.