Sobes.tech
Junior — Middle

Хусусиятҳои асосӣ ва намудҳои калидҳо дар сохтори маълумоти харита чӣ гунаанд?

sobes.tech AI

Ҷавоб аз AI

Дар забони Go, сохтори маълумоти map маънои массиви асосиативӣ ё луғатро дорад, ки калидҳоро бо арзишҳо пайванд мекунад.

Хусусиятҳои асосии калидҳо дар map:

  • Калидҳо бояд аз намудҳои муқоисашаванда (comparable) бошанд, яъне, ки метавонанд бо оператори == истифода шаванд. Ин намудҳо асосӣ (int, string, bool), ишорагарон, интерфейсҳо, сохторҳо ва массивҳо, агар ҳамаи онҳо муқоисашаванда бошанд.
  • Истифодаи слайсҳо, харитҳо ё функсияҳо ҳамчун калидҳо мумкин нест, зеро онҳо муқоисашаванда нестанд.

Масалан барои сохтани ва истифодаи map:

m := make(map[string]int)

m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Бинобар ин, навъи калид таъсир мерасонад ба имконияти истифодаи map ва бояд бо дарназардошти талаботҳои муқоисашаванда интихоб шавад.