Middle
Ką parodys programa su iteracija per žemėlapį?
sobes.tech AI
Atsakymas iš AI
Go kalbant, žemėlapio iteracijos tvarka nėra apibrėžta ir gali keistis kiekvieno programos paleidimo metu. Tai yra todėl, kad žemėlapiai Go yra įgyvendinti naudojant maišos lenteles, ir siekiant užtikrinti saugumą bei nuspėjamumą, jų apėjimo tvarka yra tyčia atsitiktinė.
Pavyzdys:
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)
}
}
Kiekvieno paleidimo metu išvestis gali būti skirtinga, pavyzdžiui:
b 2
a 1
c 3
arba
c 3
b 2
a 1
Jei reikalinga tvarkinga išvestis, reikia surinkti raktus į sąrašą, juos surūšiuoti ir iteruoti per surūšiuotus raktus.