Sobes.tech
Middle

Mida näitab programm kaartide iteratsiooni korral?

sobes.tech AI

Vastus AI-lt

Go-s ei ole määratletud järjekord kaardi iteratsioonil ning see võib iga programmi käivitamisel muutuda. See on tingitud sellest, et Go kaardid on rakendatud kasutades hajutustabeleid ning turvalisuse ja ettearvamatuse huvides on läbimise järjekord tahtlikult juhuslikustatud.

Näide:

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

Iga käivitamisega võib väljund olla erinev, näiteks:

b 2
a 1
c 3

või

c 3
b 2
a 1

Kui vajalik on sorteeritud väljund, tuleb koguda võtmed järjeks, sorteerida need ja iteratsioon teha sorteeritud võtmete kaudu.