Junior — Middle
Garantiert die Datenstruktur Map die Beibehaltung der Einfügereihenfolge der Elemente?
sobes.tech KI
Antwort von AI
In der Programmiersprache Go garantiert die Datenstruktur map nicht die Beibehaltung der Einfügereihenfolge der Elemente. Die Iteration über eine map erfolgt in einer zufälligen Reihenfolge, die sich bei jedem Durchlauf ändern kann.
Wenn die Reihenfolge der Einfügungen beibehalten werden soll, muss eine zusätzliche Struktur verwendet werden, z.B. ein Slice, um die Schlüssel in der gewünschten Reihenfolge zu speichern, oder externe Bibliotheken, die geordnete Wörterbücher implementieren.
Beispiel für die Iteration über eine map mit Beibehaltung der Schlüsselreihenfolge:
package main
import "fmt"
func main() {
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"} // Reihenfolge der Einfügungen
for _, k := range keys {
fmt.Println(k, m[k])
}
}