Голанг получить значения из интерфейса {} - PullRequest
0 голосов
/ 25 февраля 2019

Я перебираю результаты, полученные из couchDB.View, и извлекаю ключ.

for _, row := range rows {
        fmt.Printf("%v, %T\n", row.Key, row.Key)
    }

Результат такой:

[nh001 mgr], []interface {}
[nh002 nh], []interface {}

Мне нужно прочитать этоинтерфейс и получить 2-е значение ("mgr" или "nh").

Я не могу повторить это, поскольку это не карта.

1 Ответ

0 голосов
/ 25 февраля 2019

Я предполагаю, что ваше значение row.Key откуда-то возвращается как interface{}?

Если да, то в вашем range rows вы можете попытаться привести его к типу []interface{}.Итак, ваш код должен выглядеть примерно так:

for _, row := range rows {
    if val, ok := row.Key.([]interface{}); ok {
        fmt.Println(val[1])
    }
}
...