作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的输入是一个接口(interface){}
,我知道它可以是任何类型的数组。
我想读取输入中的一个元素,所以我尝试将我的 interface{}
转换为 []interface{}
,但是会给我以下错误:
panic: interface conversion: interface {} is []map[string]int, not []interface {}
我该如何进行转换? (如果可能,不反射(reflect))。
谢谢
最佳答案
涉及reflect
的解决方案package .
package main
import (
"fmt"
"reflect"
)
func main() {
var v interface{} = []string{"a", "b", "c"}
var out []interface{}
rv := reflect.ValueOf(v)
if rv.Kind() == reflect.Slice {
for i := 0; i < rv.Len(); i++ {
out = append(out, rv.Index(i).Interface())
}
}
fmt.Println(out)
}
// Output:
// [a b c]
关于go - 如何将接口(interface)转换为接口(interface) slice ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52479739/
我是一名优秀的程序员,十分优秀!