Есть ли способ получить список всех ключей на карте языка Go? Количество элементов определяется как len()
, но если у меня есть карта вроде:
m := map[string]string{ "key1":"val1", "key2":"val2" };
Как мне перебрать все ключи?
loops
dictionary
go
Мартин Редмонд
источник
источник
Вот несколько простых способов получить
slice
ключи-карты.источник
Keys
функции взять карту с ключами любого типа, а не только со строками?func Keys(m map[interface{}]interface{}) (keys []interface{})
, @ RobertT.McGibbon вам нужно изменить функцию «прототип»map[interface{}]interface{}
. Go не поддерживает генерики. Вы не можете создать функцию сmap
параметром, который принимает карты с различными типами ключей.Используйте принятый ответ:
источник
for _, k := range v.MapKeys()
, так как в вашем примереk
будет int индекс среза ключей