Junior — Middle
Оё имкон дорад, ки амалиёти хондани маълумот аз қисм, ки қаблан инициализатсия нашудааст, анҷом дода шавад?
sobes.tech AI
Ҷавоб аз AI
Дар Го, қисмҳо (slices) структураҳо ҳастанд, ки ишорагари ба массив, дарозӣ ва иқтидор доранд. Агар қисм (slice) то ҳол оғоз нашуда бошад (nil бошад), кӯшиши хондан аз он ба паника оварда мерасонад.
Масалан:
var s []int // nil-қисм
fmt.Println(s[0]) // паника: хато дар вақти иҷро: индекс берун аз доира
Барои хондани бехатар аз қисм, бояд он оғоз дода шавад, масалан, бо make ё таъин кардани массиви мавҷуда:
s := make([]int, 3)
fmt.Println(s[0]) // 0, бехатар
Аз ин рӯ, хондан аз қисми ноиҳост, ки ин хато дар вақти иҷро ба бор меояд.