【发布时间】:2014-05-10 13:53:15
【问题描述】:
我正在尝试处理从 mongodb (mgo) 检索到的一些数据。
不幸的是,我无法为字符串列表断言正确的类型。 我正在处理的功能如下:
func generate_version_histogram(userStats []interface{}) map[string]int {
var histogram map[string]int
for _, _u := range userStats {
u := _u.(bson.M)
for _, version := range (u["v"]).([]string) {
if _, alreadyhere := histogram[version]; alreadyhere {
histogram[version] += 1
} else {
histogram[version] = 1
}
}
}
return histogram
}
不幸的是,我遇到了以下运行时恐慌:
interface conversion: interface is []interface {}, not []string
知道为什么会这样吗?如何检索这些字符串?
【问题讨论】:
-
尝试断言切片的每个成员而不是整个切片。
标签: mongodb casting go type-conversion mgo