Junior — Middle
Se poate realiza o operație de citire a datelor dintr-un segment care nu a fost inițializat anterior?
sobes.tech AI
Răspuns de la AI
În Go, secvențele (slices) sunt structuri care conțin un pointer către un array, o lungime și o capacitate. Dacă o secvență nu a fost inițializată (adică, este egală cu nil), încercarea de a citi din ea va duce la o panică.
De exemplu:
var s []int // secvență nil
fmt.Println(s[0]) // panic: eroare de rulare: index în afara intervalului
Pentru a citi în siguranță dintr-o secvență, aceasta trebuie inițializată, de exemplu, cu make sau atribuind un array existent:
s := make([]int, 3)
fmt.Println(s[0]) // 0, în siguranță
Prin urmare, nu se poate citi dintr-o secvență neinițializată — acest lucru va provoca o eroare de rulare.