Junior — Middle
Come estrarre i valori ordinati per identificatore da una tabella hash?
sobes.tech AI
Risposta dell'AI
In Go, la tabella hash viene implementata con il tipo map, che non garantisce l'ordine degli elementi durante l'iterazione. Per ottenere valori ordinati per chiave (ad esempio, identificatore), devi:
- Estrarre tutte le chiavi dalla mappa in un slice.
- Ordinare il slice di chiavi usando la funzione
sort. - Iterare sulle chiavi ordinate e ottenere i valori corrispondenti dalla mappa.
Esempio:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "tre",
1: "uno",
2: "due",
}
// Estrai le chiavi
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Ordina le chiavi
sort.Ints(keys)
// Itera sulle chiavi ordinate
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
In questo modo otterrai i valori ordinati per identificatore (chiave).