Junior — Middle
Որ տվյալների տեսակները թույլատրվում են որպես բանալի մապի կառուցվածքում?
sobes.tech AI
Պատասխան AI-ից
Go-ում քարտեզի բանալիները կարող են լինել միայն տվյալների այն տիպերը, որոնք աջակցում են համեմատության գործողությանը (համեմատելի): Սա նշանակում է, որ բանալիները կարող են լինել՝
- Բուլյան արժեքներ (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}] = "Մի կետ"