Junior — Middle
Aké typy údajov sú povolené ako kľúče pre štruktúru map?
sobes.tech AI
Odpoveď od AI
V jazyku Go môžu byť kľúče pre mapu iba tie dátové typy, ktoré podporujú operáciu porovnávania (porovnateľné). To znamená, že kľúče môžu byť:
- Logické hodnoty (bool)
- Čísla (int, float, complex atď.)
- Reťazce (string)
- Ukazovatele
- Rozhrania, ak dynamický typ podporuje porovnanie
- Štruktúry, ak sú všetky ich polia porovnateľné
Nedajú sa použiť ako kľúče rezy, mapy, funkcie a iné nedohľadateľné typy, pretože nepodporujú operátor ==.
Príklad:
m := make(map[string]int)
m["key"] = 42
// Štruktúra s porovnateľnými poľami
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Bod"