Junior — Middle
Milyen adattípusok alkalmasak kulcsként egy Map-struktúrában?
sobes.tech MI
Válasz az MI-től
Go-ban a map szerkezet kulcsai csak olyan típusok lehetnek, amelyek támogatják az egyenlőség (== és !=) összehasonlítási műveletet. Ez azért fontos, mert a kulcs alapján történő értékkereséshez össze kell hasonlítani a kulcsokat.
Megfelelő kulcstípusok:
- Egyszerű típusok:
int,float64,string,boolstb. - Mutatók
- Struktúrák, ha minden mezőjük összehasonlítható
- Tömbök, ha az elemeik összehasonlíthatók
Nem használhatók kulcsként:
- Szeletek (
slice) - Térképek (
map) - Függvények
Használati példa:
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
fmt.Println(m["apple"]) // 5
Ha megpróbálsz egy szeletet kulcsként használni, a fordító hibát fog jelezni.