2

我正在遍历从 couchDB.View 返回的结果并提取密钥。

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

结果是:

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

我需要通读这个界面并获得第二个值(“mgr”或“nh”)。

我无法对此进行迭代,因为这不是地图。

4

1 回答 1

2

我假设您的值row.Key是从某个地方返回的interface{}

如果是,那么range rows您可以尝试将其强制转换为 type []interface{}。所以你的代码应该看起来像这样。

for _, row := range rows {
    if val, ok := row.Key.([]interface{}); ok {
        fmt.Println(val[1])
    }
}
于 2019-02-25T20:22:28.600 回答