Junior — Middle
¿Cómo se pueden extraer los valores ordenados por identificador de una tabla hash?
sobes.tech AI
Respuesta de la IA
En Go, la tabla hash se implementa mediante el tipo map, que no garantiza el orden de los elementos durante la iteración. Para obtener los valores ordenados por clave (por ejemplo, por identificador), debes:
- Extraer todas las claves del mapa en un slice.
- Ordenar el slice de claves usando la función
sort. - Recorrer las claves ordenadas y obtener los valores correspondientes del mapa.
Ejemplo:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "tres",
1: "uno",
2: "dos",
}
// Extraer claves
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Ordenar claves
sort.Ints(keys)
// Recorrer claves ordenadas
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
De esta forma, obtendrás los valores ordenados por identificador (clave).