Sobes.tech
Junior — Middle

Vai ir iespējams veikt datu lasīšanas operāciju no sēkļa, kas nav iepriekš inicializēts?

sobes.tech AI

Atbilde no AI

Go valodā, šķēlumi (slices) ir struktūras, kas satur norādi uz masīvu, garumu un kapacitāti. Ja šķēle nav inicializēta (t.i., ir nil), tad tās lasīšana novedīs pie panikas.

Piemēram:

var s []int // `nil` šķēle
fmt.Println(s[0]) // panika: izpildes laikā kļūda: indekss ārpus diapazona

Lai droši lasītu no šķēles, to jāinicializē, piemēram, ar make vai piešķirot esošu masīvu:

s := make([]int, 3)
fmt.Println(s[0]) // 0, droši

Tādēļ no neinicializētas šķēles lasīt nav iespējams — tas izraisīs izpildes kļūdu.