Sobes.tech
Middle

Mit fog mutatni a program a térképen való iterációval?

sobes.tech MI

Válasz az MI-től

Go-ban a térképen való iteráció sorrendje nem határozott meg, és minden programindításkor változhat. Ez azért van, mert a Go-ban a térképeket hash-táblák segítségével valósítják meg, és a biztonság, valamint a kiszámíthatatlanság érdekében a bejárási sorrendet szándékosan véletlenszerűvé teszik.

Példa:

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)
    }
}

Minden futtatásnál a kimenet eltérő lehet, például:

b 2
a 1
c 3

vagy

c 3
b 2
a 1

Ha rendezett kimenetre van szükség, akkor a kulcsokat egy szeletbe kell gyűjteni, rendezni és a rendezett kulcsokon iterálni kell.