Junior — Middle
Jaké datové typy jsou povoleny jako klíče pro strukturu mapy?
sobes.tech AI
Odpověď od AI
V jazyce Go mohou být klíče pro mapu pouze datové typy, které podporují operaci porovnání (porovnatelné). To znamená, že klíče mohou být:
- Logické hodnoty (bool)
- Čísla (int, float, complex atd.)
- Řetězce (string)
- Ukazatele
- Rozhraní, pokud dynamický typ podporuje porovnání
- Struktury, pokud jsou všechny jejich pole porovnatelné
Nelze používat jako klíče řezy, mapy, funkce a jiné nedohledatelné typy, protože nepodporují operátor ==.
Příklad:
m := make(map[string]int)
m["key"] = 42
// Struktura s porovnatelnými poli
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Bod"