Czy istnieje sposób na uzyskanie listy wszystkich kluczy na mapie językowej Go? Liczba elementów jest podana przez len()
, ale jeśli mam mapę, taką jak:
m := map[string]string{ "key1":"val1", "key2":"val2" };
Jak iterować po wszystkich kluczach?
loops
dictionary
go
Martin Redmond
źródło
źródło
Oto prosty sposób na zdobycie
slice
klawiszy mapy.źródło
Keys
funkcja może pobrać mapę z kluczami dowolnego typu, a nie tylko z ciągami znaków?func Keys(m map[interface{}]interface{}) (keys []interface{})
, @ RobertT.McGibbon musisz zmienić funkcję „prototyp”map[interface{}]interface{}
. Go nie obsługuje rodzajów ogólnych. Nie można utworzyć funkcji zmap
parametrem, który akceptuje mapy z różnymi typami kluczy.Użyj zaakceptowanej odpowiedzi:
źródło
for _, k := range v.MapKeys()
, ponieważ w twoim przykładziek
będzie to int indeks części klucza