Sobes.tech
Junior — Middle

Structura de date Map garantează păstrarea ordinii de inserție a elementelor?

sobes.tech AI

Răspuns de la AI

În limbajul Go, structura de date map nu garantează păstrarea ordinii de inserare a elementelor. Iterarea peste un map are loc într-o ordine aleatorie, care poate varia la fiecare parcurgere.

Dacă este necesar să păstrați ordinea inserării, trebuie să folosiți o structură suplimentară, cum ar fi un slice pentru a stoca cheile în ordinea dorită sau să utilizați biblioteci externe care implementează dicționare ordonate.

Exemplu de parcurgere a unui map păstrând ordinea cheilor:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // ordine de inserare

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