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 ва бояд бо дарназардошти талаботҳои муқоисашаванда интихоб шавад.