Sobes.tech
Junior — Middle

Zaručuje dátová štruktúra Map zachovanie poradia vkladania prvkov?

sobes.tech AI

Odpoveď od AI

V jazyku Go štruktúra údajov map nezaručuje zachovanie poradia vkladania prvkov. Iterácia cez map prebieha v náhodnom poradí, ktoré sa môže meniť pri každom prechode.

Ak je potrebné zachovať poradie vkladania, je potrebné použiť dodatočnú štruktúru, napríklad slice na uloženie kľúčov v požadovanom poradí, alebo použiť externé knižnice implementujúce zoradené slovníky.

Príklad prechádzania map s zachovaním poradia kľúčov:

package main

import "fmt"

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

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