Middle
Wat toont het programma met een iteratie over een kaart?
sobes.tech AI
Antwoord van AI
In Go is de volgorde van iteratie over een map niet gedefinieerd en kan deze bij elke uitvoering van het programma veranderen. Dit komt doordat maps in Go worden geïmplementeerd met behulp van hash-tabellen, en om veiligheid en onvoorspelbaarheid te garanderen, wordt de volgorde van doorlopen opzettelijk gerandomiseerd.
Voorbeeld:
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)
}
}
Bij elke uitvoering kan de output verschillen, bijvoorbeeld:
b 2
a 1
c 3
of
c 3
b 2
a 1
Als een gesorteerde output nodig is, moet je de sleutels verzamelen in een slice, deze sorteren en itereren over de gesorteerde sleutels.