Sobes.tech
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 худ ба худ ба тартиб нест, аммо тартиб додан метавонад дастӣ амалӣ карда шавад.