Sobes.tech
Junior — Middle

Map veri yapısı, öğelerin eklenme sırasını garantiler mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, map veri yapısı, öğelerin eklenme sırasını garanti etmez. map üzerinde yineleme, rastgele bir sırayla gerçekleşir ve bu sıralama her dolaşımda değişebilir.

Ekleme sırasını korumak gerekiyorsa, ek bir yapı kullanmak gerekir, örneğin, anahtarları istenen sırayla saklamak için dilim (slice) veya sıralı sözlükleri uygulayan üçüncü taraf kütüphaneler kullanmak.

İşte anahtarların sırasını koruyan map dolaşım örneği:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // ekleme sırası

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