Junior — Middle
Може ли извршити операцију читања података из среза који није претходно иницијализован?
sobes.tech АИ
Одговор од АИ
U Go-u, seče (slices) su strukture koje sadrže pokazivač na niz, dužinu i kapacitet. Ako seč nije inicijalizovan (tj. jednak je nil), pokušaj čitanja sa njega će dovesti do panike.
Na primer:
var s []int // nil-seč
fmt.Println(s[0]) // panic: greška u izvršavanju: indeks van opsega
Da bi se sigurno čitalo iz seča, on mora biti inicijalizovan, na primer pomoću make ili dodeljivanjem postojećeg niza:
s := make([]int, 3)
fmt.Println(s[0]) // 0, sigurno
Dakle, iz neinicijalizovanog seča ne može se čitati — to će izazvati grešku u izvršavanju.