Junior — Middle
Кадом намудҳои маълумот барои калидҳо дар структураи харита иҷозат дода мешаванд?
sobes.tech AI
Ҷавоб аз AI
Го-да, калитлар учун харита фақат қуйидаги турдаги маълумотлар турлари бўлиши мумкин, улар салыш операциясини (солиш мумкин) қўллаб-қувватлайди. Бу шундай маънони англатадики, калитлар:
- Маънолар (bool)
- Рақамлар (int, float, complex ва ҳоказо)
- Сатрлар (string)
- Ишорачилар
- Интерфейслар, агар динамик тур салышни қўллаб-қувватласа
- Тузилмалар, агар уларнинг барча майдонлари салыш мумкин бўлса
Делимлар, хариталар, функциялар ва бошқа салыш мумкин бўлмаган турлар калит сифатида қўлланмайди, чунки улар == операторини қўллаб-қувватламайди.
Масалан:
m := make(map[string]int)
m["key"] = 42
// Салыш мумкин бўлган майдонларга эга тузилма
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Бир нуқта"