我正在遍历从SofaDB返回的结果。查看并提取密钥。
for _, row := range rows {
fmt.Printf("%v, %T\n", row.Key, row.Key)
}
其结果是:
[nh001 mgr], []interface {}
[nh002 nh], []interface {}
我需要通读此接口并获取第二个值(“ mgr”或“ nh”)。
我无法对此进行迭代,因为这不是地图。
答案 0 :(得分:2)
我假设您的值row.Key
是从某个地方返回的,例如interface{}
?
如果是,则可以在range rows
中尝试将其强制转换为键入[]interface{}
。因此,您的代码应如下所示。
for _, row := range rows {
if val, ok := row.Key.([]interface{}); ok {
fmt.Println(val[1])
}
}