Sobes.tech
Junior — Middle

Jei kelis kartus pereisite per žemėlapį, ar išliks raktų seka?

sobes.tech AI

Atsakymas iš AI

Go kalbinde, map tipi, anahtarların sırasını iterasyon sırasında koruma garantisi vermez. Her map üzerinde geçerken, anahtarların dolaşım sırası farklı olabilir, çünkü içsel hash tablosunun temsili sıralı değildir.

Eğer sıralamayı korumak istiyorsanız, örneğin, ekleme sırasını, ek bir veri yapısı kullanmalısınız, örneğin, anahtarların dilimi, ve ona göre yinelemelisiniz.

Örnek:

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

for _, k := range keys {
    fmt.Println(k, m[k])
}

Bu şekilde, yineleme dizisi stabil ve öngörülebilir olacaktır.