Junior — Middle
Оё структураи додаи Map дар забони барномасозӣ бо калидҳо сортида мешавад?
sobes.tech AI
Ҷавоб аз AI
Ба забони барномаи Go, сохтори додаҳои дохилии map кафолат намедиҳад, ки калидҳо ба тартиб гузошта шаванд. Тартиби гузариш дар элементҳои map тасодуфӣ аст ва метавонад байни такрорҳо тағйир ёбад.
Агар лозим бошад, ки элементҳоро ба тартиб даровардан бо калидҳо, бояд калидҳоро ба як срез бароварда, бо истифода аз sort онҳоро ба тартиб дароварда ва сипас map-ро дар тартиби калидҳои ба тартиб дароварда гузаронд:
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
fmt.Println(k, m[k])
}
Тавре ки мебинем, map худ ба худ ба тартиб нест, аммо тартиб додан метавонад дастӣ амалӣ карда шавад.