Sobes.tech
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 оғоз дод.