Sobes.tech
Middle

Ce va afișa programul cu o iterație pe o hartă?

sobes.tech AI

Răspuns de la AI

În Go, ordinea de iterare pe un map nu este definită și se poate schimba la fiecare rulare a programului. Acest lucru se datorează faptului că map-urile în Go sunt implementate folosind tabele hash, iar pentru siguranță și imprevizibilitate, ordinea de traversare este intenționat aleatorie.

Exemplu:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    for k, v := range m {
        fmt.Println(k, v)
    }
}

La fiecare rulare, ieșirea poate fi diferită, de exemplu:

b 2
a 1
c 3

ori

c 3
b 2
a 1

Dacă este nevoie de o ieșire ordonată, trebuie colectate cheile într-un slice, sortate și apoi iterate pe cheile sortate.