Sobes.tech
Junior — Middle

Ar galima atlikti duomenų skaitymo operaciją iš skilties, kuri nebuvo iš anksto inicializuota?

sobes.tech AI

Atsakymas iš AI

Go kalboje, skersiniai (slices) yra struktūros, kurios turi nuorodą į masyvą, ilgį ir talpą. Jei skersinis nėra inicializuotas (t.y., yra nil), bandymas jį skaityti sukels paniką.

Pavyzdžiui:

var s []int // nil-skersinis
fmt.Println(s[0]) // panika: vykdymo klaida: indeksas už diapazono ribų

Saugiai skaitant iš skersinio, jį reikia inicializuoti, pavyzdžiui, naudojant make arba priskiriant esamą masyvą:

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

Todėl iš neinicijuoto skersinio skaityti negalima — tai sukels vykdymo klaidą.