Junior — Middle
Koji tipovi podataka su dozvoljeni kao ključevi za strukturu mape?
sobes.tech АИ
Одговор од АИ
U Go, ključevi za mapu mogu biti samo oni tipovi podataka koji podržavaju operaciju poređenja (uporedivi). To znači da ključevi mogu biti:
- Bilo koje logičke vrednosti (bool)
- Brojevi (int, float, complex itd.)
- Nizovi (string)
- Pokazivači
- Interfejsi, ako dinamički tip podržava poređenje
- Strukture, ako su sva njihova polja uporediva
Ne mogu se koristiti sečiva, mape, funkcije i drugi neuporedivi tipovi kao ključevi, jer ne podržavaju operator ==.
Primer:
m := make(map[string]int)
m["key"] = 42
// Struktura sa uporedivim poljima
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Tačka"