Sobes.tech
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"