Sobes.tech
Middle

Ko parādīs programma ar iterāciju pa karti?

sobes.tech AI

Atbilde no AI

Go, iterācijas secība uz kartes nav noteikta un var mainīties katru programmas palaišanas reizi. Tas ir tāpēc, ka Go kartes tiek īstenotas, izmantojot hash tabulas, un drošības un neparedzamības nolūkos, pārbaudes secība ir apzināti nejauša.

Piemērs:

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

Katru reizi palaižot, izvade var atšķirties, piemēram:

b 2
a 1
c 3

vai

c 3
b 2
a 1

Ja nepieciešama sakārtota izvade, ir jāapkopo atslēgas sarakstā, tās jāsakārto un jāiterē pēc sakārtotajām atslēgām.