Junior — Middle
Ako možno extrahovať hodnoty zoradené podľa identifikátora z hash tabuľky?
sobes.tech AI
Odpoveď od AI
V Go je hash tabuľa implementovaná pomocou typu map, ktorý nezaručuje poradie prvkov počas iterácie. Aby ste získali hodnoty zoradené podľa kľúča (napríklad identifikátora), musíte:
- Vyextrahovať všetky kľúče z mapy do poľa.
- Pole kľúčov zoradiť pomocou funkcie
sort. - Prejsť zoradené kľúče a získať zodpovedajúce hodnoty z mapy.
Príklad:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "tri",
1: "jeden",
2: "dva",
}
// Vyextrahovať kľúče
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Zoradiť kľúče
sort.Ints(keys)
// Prejsť zoradené kľúče
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Týmto spôsobom získate hodnoty zoradené podľa identifikátora (kľúča).