Gibt es eine Möglichkeit, eine Liste aller Schlüssel in einer Go-Sprachkarte zu erhalten? Die Anzahl der Elemente wird durch len()
gegeben, aber wenn ich eine Karte wie:Iterieren über alle Schlüssel einer Karte
m := map[string]string{ "key1":"val1", "key2":"val2" };
Wie iterieren ich über alle Schlüssel?
Als mögliche gotcha, beachten Sie, dass die Reihenfolge der Iteration nicht definiert ist. https://groups.google.com/d/msg/golang-nuts/YfDxpkI34hY/4pktJI2ytusJ – mna
Sudhir: Die Golang-Sprachspezifikation definiert explizit Karten mit nicht definierter Reihenfolge der Schlüssel. Außerdem wird seit Go 1 die Reihenfolge der Schlüssel absichtlich zwischen den Läufen randomisiert, um eine Abhängigkeit von einer wahrgenommenen Reihenfolge zu verhindern. –
Beachten Sie, dass dies keine veränderbare Iteration ist, dh das Löschen eines Schlüssels erfordert einen Neustart der Iteration. –