Middle
Кадом намудҳои маълумотҳоро метавон ҳамчун калид истифода бурд?
sobes.tech AI
Ҷавоб аз AI
Дар Го, калидҳо дар харита танҳо метавонанд аз намудҳое бошанд, ки амали муқоиса (==) -ро дастгирӣ мекунанд. Ин ба он вобаста аст, ки барои ҷустуҷӯи калид дар ҷадвали ҳештӣ, лозим аст, ки калидҳоро барои баробарӣ муқоиса кунем.
Намудҳое, ки метавонанд ҳамчун калид истифода шаванд:
- Намудҳои ибтидоӣ:
int,float64,string,boolва ғайра. - Ишоракунандагон
- Сохторҳо, агар ҳамаи майдонҳои онҳо муқоисашаванда бошанд
- Масивҳо, агар унсурҳои онҳо муқоисашаванда бошанд
Намудҳое, ки наметавонанд ҳамчун калид истифода шаванд:
- Қисмҳо (
slice) - Харитаҳо (
map) - Функсияҳо
Ин ба он вобаста аст, ки ин намудҳо муқоиса бо == -ро дастгирӣ намекунанд.
Масалан:
m := make(map[string]int)
m["key"] = 42
// Сохтор бо майдонҳои муқоисашаванда
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1, 2}] = "Як нуқта"
Агар кӯшиш кунед, ки слайс ё харита ҳамчун калид истифода кунед, компилятор хато хоҳад дод.