Sobes.tech
Junior — Middle

Jaké typy dat jsou vhodné pro použití jako klíče ve struktuře Map?

sobes.tech AI

Odpověď od AI

V jazyce Go mohou být klíče v struktuře map pouze takové typy, které podporují operaci porovnání rovnosti (== a !=). To je důležité, protože pro hledání hodnoty podle klíče je nutné porovnávat klíče.

Vhodné typy klíčů:

  • Jednoduché typy: int, float64, string, bool atd.
  • Ukazatele
  • Struktury, pokud jsou všechny jejich pole porovnatelné
  • Pole, pokud jsou jejich prvky porovnatelné

Nelze používat jako klíče:

  • Řezové pole (slice)
  • Mapy (map)
  • Funkce

Příklad použití:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Pokud se pokusíte použít řez jako klíč, kompilátor vypíše chybu.