Sobes.tech
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.