Gibt es eine Möglichkeit, eine Liste aller Schlüssel in einer Go-Sprachkarte abzurufen? Die Anzahl der Elemente ist gegeben durch len()
, aber wenn ich eine Karte habe wie:
m := map[string]string{ "key1":"val1", "key2":"val2" };
Wie iteriere ich über alle Schlüssel?
loops
dictionary
go
Martin Redmond
quelle
quelle
Hier ist ein einfacher Weg, um
slice
an die Kartenschlüssel zu gelangen .quelle
Keys
Funktion eine Karte mit Schlüsseln eines beliebigen Typs erstellen, nicht nur mit Zeichenfolgen?func Keys(m map[interface{}]interface{}) (keys []interface{})
, @ RobertT.McGibbon müssen Sie die Funktion "Prototyp"map[interface{}]interface{}
. Go unterstützt keine Generika. Sie können keine Funktion mit einemmap
Parameter erstellen, der Karten mit verschiedenen Schlüsseltypen akzeptiert.Verwenden Sie die akzeptierte Antwort:
quelle
for _, k := range v.MapKeys()
, da in Ihrem Beispielk
der int-Index der Schlüsselscheibe wäre