Junior — Middle
Koje vrste podataka mogu služiti kao ključ u map kontejneru?
sobes.tech АИ
Одговор од АИ
У Go, ključ u mapi može biti samo od tipova podataka koji su poredivi (comparable). To znači da za ključ mora biti definisan operator ==.
Prikladni tipovi ključeva:
- Bilo koje vrednosti tipa
bool - Brojevi (
int,float64,uint8itd.) - Nizovi (
string) - Pokazivači
- Kanali
- Interfejsi, ako je dinamički tip porediv
- Strukture, ako su svi njihovi atributi poredivi
Nije dozvoljeno koristiti kao ključ:
- Slojeve (
slice) - Mape (
map) - Funkcije
Primer:
m := make(map[string]int)
m["key"] = 42
// Struktura sa poredivim poljima
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Tačka"
Ako pokušate da koristite ne-porediv tip kao ključ, kompajler će prijaviti grešku.