在go中用逗号拆分字符串后获取[]接口{}
我有两种方法来获取列表在go中用逗号拆分字符串后获取[]接口{},go,type-conversion,Go,Type Conversion,我有两种方法来获取列表 通过api-它返回一个map[string]接口{}。我感兴趣的值作为[]接口{}(字符串数组,默认设置为接口数组)存储在接口中 通过静态字符串-如果api失败。这是一个逗号分隔的字符串。我使用strings.Split函数,该函数生成一个[]字符串 上述结果导致两种类型的数据[]接口{}和[]字符串,这两种类型的数据与操作不兼容,I必须根据类型分别执行相同的操作 此外,我正在将数组转换为map[string]int,key为string,value为1。我正在将其转换为
此外,我正在将数组转换为map[string]int,key为string,value为1。我正在将其转换为一个映射,以便快速检查原始数组中的某些属性
这个问题有什么解决办法吗?最好的办法是什么 使用以下代码从字符串
s
中以逗号分隔的值创建映射[string]int
:
m := make(map[string]int)
for _, p := range strings.Split(s, ",") {
m[p] = 1
}
使用以下代码从类型为
[]接口{}
的值创建映射[string]int
:
m := make(map[string]int)
for _, v := range values {
s, ok := v.(string)
if !ok {
// not a string, handle error
}
m[s] = 1
}
此外,我正在将数组转换为map[string]int,key为string,value为1。我正在将其转换为一个映射,以便快速检查原始数组中的某些属性。我将不得不再次调用相同的循环。有没有办法直接从字符串转换它