我有一个足够通用的函数来遍历 map[string] 并获取所有键:
i := 0
keys := make([]string, len(input))
for k := range input {
keys[i] = k
i++
}
return keys
我的问题是我想在这里输入两个不同的输入,一个map[string]MyStruct和map[string][][]float64。每当我尝试将 func 的输入作为map[string]interface{}时,go 都会拒绝我尝试将 map[string]MyStruct 转换为 map[string]interface{} 的所有尝试。有没有一种方法可以在不需要两个函数的情况下做到这一点,一个使用 map[string]MyStruct 作为输入,一个使用 map[string][][]float64?map[string] 的内容此时并不重要,因为我只是想获取它们的所有键以供稍后在代码中使用。这需要是一个被调用的函数;我们正在使用 Sonar,它被设置为拒绝代码重复,所以我不能复制这个代码片段。
幕布斯7119047
相关分类