Junior — Middle
Mi a különbség a térkép és a szelet használata között Go-ban, és mely esetekben érdemes inkább az egyiket vagy a másikat alkalmazni?
sobes.tech MI
Válasz az MI-től
Go-ban a map és a slice különböző célokra szolgál:
- map — asszociatív tömb, szerkezet kulcs-érték párok tárolására gyors hozzáféréssel a kulcs szerint. A kulcsok egyediek.
- slice — dinamikus tömb, rendezett elemek gyűjteménye, index szerint elérhető.
Mikor használjuk:
- Használjon map-et, ha gyorsan kell elemeket találni egyedi kulcs szerint, például felhasználók ID szerint való tárolására.
- Használjon slice-t, ha az elemek sorrendje fontos, vagy kulcs nélküli elemek halmazát kell tárolni, például feladatok listája.
Példa:
// map a diákok jegyeinek tárolására név szerint
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice a nevek listájának tárolására
names := []string{"Alice", "Bob", "Charlie"}
A választás a feladattól függ: kulcs szerinti kereséshez — map, rendezett listához — slice.