Sobes.tech
Junior — Middle

La struttura dati Map garantisce il mantenimento dell'ordine di inserimento degli elementi?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, la struttura dati map non garantisce il mantenimento dell'ordine di inserimento degli elementi. L'iterazione su una map avviene in un ordine casuale, che può cambiare ad ogni ciclo.

Se si desidera mantenere l'ordine di inserimento, è necessario usare una struttura aggiuntiva, come un slice per memorizzare le chiavi nell'ordine desiderato, o utilizzare librerie esterne che implementano dizionari ordinati.

Esempio di iterazione su una map mantenendo l'ordine delle chiavi:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // ordine di inserimento

    for _, k := range keys {
        fmt.Println(k, m[k])
    }
}