Sobes.tech
Senior

Aké dátové typy je možné použiť ako kľúč pre mapu? Môže sa použiť pole ako kľúč?

sobes.tech AI

Odpoveď od AI

V Go môže byť kľúčom pre mapu akýkoľvek typ, ktorý podporuje operácie porovnávania == a !=. To znamená, že kľúče môžu byť základné typy (int, string, bool atď.), ukazovatele, štruktúry, ak sú všetky ich polia porovnateľné, a tiež rozhrania, ak je dynamický typ porovnateľný.

Polia v Go sú porovnateľné, ak sú ich prvky porovnateľné, takže polia môžu byť použité ako kľúče v mape. Napríklad:

m := make(map[[3]int]string)
 m[[3]int{1, 2, 3}] = "hodnota"

Avšak, slices (rezy) nemôžu byť použité ako kľúče, pretože nie sú porovnateľné (okrem porovnania s nil).