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.