Junior — Middle
La structure de données Map garantit-elle la conservation de l'ordre d'insertion des éléments?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, la structure de données map ne garantit pas l'ordre d'insertion des éléments. L'itération sur un map se fait dans un ordre aléatoire, qui peut changer à chaque parcours.
Si vous souhaitez conserver l'ordre d'insertion, vous devez utiliser une structure supplémentaire, comme un slice pour stocker les clés dans l'ordre souhaité, ou utiliser des bibliothèques tierces qui implémentent des dictionnaires ordonnés.
Exemple d'itération sur un map en conservant l'ordre des clés :
package main
import "fmt"
func main() {
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"} // ordre d'insertion
for _, k := range keys {
fmt.Println(k, m[k])
}
}