Junior — Middle
Оё метавонед хосиятҳои асосӣ ва хусусиятҳои истифодаи калидҳо дар структураҳои додаҳои Map-ро тавсиф кунед?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go (Golang), map — ин навъи додаҳои дарунсохт аст, ки як массиви ҳамсоя ё луғатро ифода мекунад, ки ҷуфтҳои калид-арзишро нигоҳ медорад.
Хусусиятҳои асосии калидҳо дар map:
- Намуди калид бояд муқоисашаванда бошад: калидҳо бояд операсияи муқоиса
==-ро дастгирӣ кунанд. Ин маъно дорад, ки калидҳо метавонанд намудҳои мисли сатрҳо, рақамҳо, ишорагарон, сохторҳо бошанд, агар ҳамаи майдонҳои онҳо муқоисашаванда бошанд. - Слайсҳо, харитҳо ё функсияҳоро ҳамчун калид истифода бурда намешавад, зеро онҳо муқоисашаванда нестанд.
- Калидҳо ягонаанд: дар як харита наметавон ду калиди якхела бошанд.
Масалан, сохтани ва истифодаи map бо калидҳои навъи string:
package main
import "fmt"
func main() {
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
fmt.Println(m["apple"]) // 5-ро мебарорад
// Санҷиши мавҷудияти калид
val, ok := m["pear"]
if !ok {
fmt.Println("Калиди 'pear' ёфт нашуд")
} else {
fmt.Println(val)
}
}
Аз ин рӯ, ҳангоми истифодаи калидҳо дар map, муҳим аст, ки намудҳои дастгиришавандаро интихоб кунед, то хатогиҳои компиляцияро пешгирӣ кунед.