Junior — Middle
Որ տվյալների տեսակները կարող են որպես բանալի գործել քարտեզի կոնտեյների մեջ։
sobes.tech AI
Պատասխան AI-ից
Go-ում, քարտեզի բանալի կարող է լինել միայն համեմատելի (comparable) տվյալների տիպերից։ Դա նշանակում է, որ բանալիի համար պետք է սահմանված լինի == օպերատորը։
Համապատասխան բանալի տիպեր՝
- Բուլյան արժեքներ (
bool) - Թվեր (
int,float64,uint8և այլն) - Տողեր (
string) - Ցկածներ
- Անջատիչներ
- Կանալներ
- Ինտերֆեյսներ, եթե դինամիկ տիպը համեմատելի է
- Կառուցվածքներ, եթե բոլոր դաշտերը համեմատելի են
Չեն կարող օգտագործվել որպես բանալի՝
- Սլայսներ (
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}] = "Նկատում"
Եթե փորձեք օգտագործել անհամեմատելի տիպ որպես բանալի, կոմպիլյատորը կհայտարարի սխալ։