Sobes.tech
Junior — Middle

Care este diferența dintre utilizarea unui map și a unui slice în Go, și în ce cazuri este preferabil să folosești fiecare dintre ele?

sobes.tech AI

Răspuns de la AI

În Go, map și slice servesc scopuri diferite:

  • map — matrice asociativă, structură pentru stocarea perechilor cheie-valoare cu acces rapid pe bază de cheie. Cheile sunt unice.
  • slice — matrice dinamică, colecție ordonată de elemente, acces pe bază de index.

Când să folosiți:

  • Folosiți map dacă trebuie să găsiți rapid elemente după o cheie unică, de exemplu, stocarea utilizatorilor după ID.
  • Folosiți slice dacă ordinea elementelor este importantă sau trebuie să stocați un set de elemente fără chei, de exemplu, o listă de sarcini.

Exemplu:

// map pentru stocarea notelor studenților după nume
grades := map[string]int{"Alice": 90, "Bob": 85}

// slice pentru stocarea unei liste de nume
names := []string{"Alice", "Bob", "Charlie"}

Alegerea depinde de sarcină: pentru căutare după cheie — map, pentru o listă ordonată — slice.