Junior — Middle
Aký je rozdiel medzi používaním mapy a slice v Go a v ktorých prípadoch je vhodnejšie použiť jedno alebo druhé?
sobes.tech AI
Odpoveď od AI
V jazyku Go slúžia map a slice na rôzne účely:
- map — asociatívny poľ, štruktúra na ukladanie párov kľúč-hodnota s rýchlym prístupom cez kľúč. Kľúče sú jedinečné.
- slice — dynamický poľ, zoradená kolekcia prvkov, prístup cez index.
Kedy použiť:
- Použite map, ak potrebujete rýchlo nájsť prvky podľa jedinečného kľúča, napríklad, uložiť používateľov podľa ID.
- Použite slice, ak je dôležitý poradie prvkov alebo chcete uložiť množinu prvkov bez kľúčov, napríklad zoznam úloh.
Príklad:
// map na uloženie známok študentov podľa mena
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice na uloženie zoznamu mien
names := []string{"Alice", "Bob", "Charlie"}
Voľba závisí od úlohy: na vyhľadávanie podľa kľúča — map, na zoradený zoznam — slice.