Junior — Middle
Cum se pot extrage valorile sortate după identificator dintr-un tabel hash?
sobes.tech AI
Răspuns de la AI
În Go, tabelul hash este implementat folosind tipul map, care nu garantează ordinea elementelor în timpul iterației. Pentru a obține valorile sortate după cheie (de exemplu, identificator), trebuie:
- Să extragi toate cheile din hartă într-un slice.
- Să sortezi slice-ul de chei folosind funcția
sort. - Să parcurgi cheile sortate și să obții valorile corespunzătoare din hartă.
Exemplu:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "trei",
1: "unu",
2: "doi",
}
// Extrage cheile
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Sortează cheile
sort.Ints(keys)
// Parcurge cheile sortate
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Astfel, vei obține valorile sortate după identificator (cheie).