Junior — Middle
Дар кадом ҳолатҳо хондани маълумот аз Map, ки ҳанӯз ба таври равшан оғоз нашудааст, бехатар аст?
sobes.tech AI
Ҷавоб аз AI
Дар Go, хондан аз map ки ба таври равшан оғоз наёфтааст (яъне, nil аст), бехатар аст, аммо бо маҳдудиятҳо.
Агар map nil бошад:
- Хондани арзиш бо калид арзиши сифрии намуди унсурро ва
falseдар санҷиши мавҷудияти калид бармегардонад. - Навиштан (таъин кардан) ба чунин
mapпаникро ба вуҷуд меоварад.
Масалан:
var m map[string]int // m == nil
value, ok := m["key"] // бехатар, value == 0, ok == false
// m["key"] = 10 // паник: таъин ба map-и nil
Аз ин рӯ, хондан аз map бехатар аст, агар он оғоз наёфта бошад, аммо дар он навиштан имконнопазир аст. Барои навиштан, аввал бояд map-ро бо make оғоз дод.