Sobes.tech
Junior — Middle

Map üzerinde birkaç kez dolaşılırsa, anahtarların sırası korunur mu?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, map tipi, anahtarların yinelemesi sırasında sıralamayı garanti etmez. Her map üzerinde geçişte, anahtarların dolaşım sırası farklı olabilir çünkü dahili hash tablosunun temsili sıralı değildir.

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 istikrarlı ve öngörülebilir olacaktır.