Sobes.tech
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 :

  1. Extraire toutes les clés du map dans une tranche.
  2. Trier la tranche de clés à l'aide de la fonction sort.
  3. 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é).