Junior — Middle
Comment extraire les valeurs triées par identifiant d'une table de hachage?
sobes.tech IA
Réponse de l'IA
En Go, la table de hash est implémentée à l'aide du type map, qui ne garantit pas l'ordre des éléments lors de l'itération. Pour obtenir des valeurs triées par clé (par exemple, par identifiant), vous devez :
- Extraire toutes les clés du map dans une tranche.
- Trier la tranche de clés à l'aide de la fonction
sort. - Parcourir les clés triées et obtenir les valeurs correspondantes du map.
Exemple :
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "trois",
1: "un",
2: "deux",
}
// Extraire les clés
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Trier les clés
sort.Ints(keys)
// Parcourir les clés triées
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Ainsi, vous obtiendrez des valeurs triées par identifiant (clé).