Sobes.tech
Senior

Xəritə məlumatların oxunma sırasını təmin edir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində daxili map tipi oxuma zamanı elementlərin gəzinti sırasını təmin etmir. Map üzərində təkrarlama pseudo-təsadüfi bir sırada baş verir və bu, proqramın hər işə salınmasında dəyişə bilər. Əgər sıralanmış gəzinti tələb olunursa, açarları əlavə olaraq bir dilimdə saxlamaq və onları təkrarlamadan əvvəl sıralamaq lazımdır.

Açarların sıralanması ilə map üzərində gəzinti nümunəsi:

m := map[string]int{"b": 2, "a": 1, "c": 3}

// Açarları əldə edin
keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}

// Açarları sıralayın
sort.Strings(keys)

// Sıralanmış açarlar üzərində gəzinti
for _, k := range keys {
    fmt.Println(k, m[k])
}