Junior — Middle
Ինչպե՞ս կարելի է հեշ-թերթից հանվել դասավորված արժեքները ըստ նույնականացնողի։
sobes.tech AI
Պատասխան AI-ից
Go-ում հեշ-թերթը իրականացվում է map տիպի միջոցով, որը չի երաշխավորում տարրերի կարգը կրկնակի անցուդարձի ժամանակ: Որպեսզի ստանաք կոդավորված արժեքներ ըստ բանալիի (օրինակ՝ նույնականացման համար), պետք է՝
- Բոլոր բանալիները հանեք քարտեզից՝ սլայսի մեջ:
- Սլայսը դասավորեք
sortֆունկցիայի միջոցով: - Դասավորված բանալիներով անցեք և ստացեք համապատասխան արժեքները քարտեզից:
Օրինակ՝
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "երեք",
1: "մեկ",
2: "երկու",
}
// Բանալիների հանում
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Բանալիների դասավորություն
sort.Ints(keys)
// Դասավորված բանալիներով անցում
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Այսպիսով, դուք կստանաք արժեքներ՝ դասավորված ըստ նույնականացման (բանալի)։