Junior — Middle
Կարո՞ղ է այլ Map օգտագործել որպես բանալի Map-ում։
sobes.tech AI
Պատասխան AI-ից
Go-ում, քարտի բանալին կարող է լինել միայն այն տիպը, որը աջակցում է համեմատության գործողությանը (== օպերատոր): Ներքին map տիպը չի աջակցում համեմատությանը, այդ պատճառով map-ը չի կարող օգտագործվել որպես այլ map-ի բանալի:
Եթե անհրաժեշտ է օգտագործել բարդ, համակցված բանալի, կարող եք:
- Օգտագործել կառուցվածք, որի դաշտերը համեմատելի են (օրինակ, տողեր, թվեր):
- Սերիալիզացնել map-ը տող (օրինակ, JSON) և օգտագործել այդ տողը որպես բանալի:
Օրինակ՝ կառուցվածքը որպես բանալի օգտագործելու համար՝
type Key struct {
Field1 string
Field2 int
}
m := make(map[Key]string)
m[Key{Field1: "a", Field2: 1}] = "արժեք"
Այսպիսով, ուղղակի map-ը որպես բանալի օգտագործել հնարավոր չէ։