考虑以下代码:
package main
import (
"fmt"
"reflect"
)
func f(v interface{}) {
fmt.Println(reflect.TypeOf(v).Elem())
fmt.Println(reflect.ValueOf(v))
}
func main() {
var aux []interface{}
aux = make([]interface{}, 2)
aux[0] = "foo"
aux[1] = "bar"
f(aux)
}
输出是:
interface {}
[foo bar]
如何确定 interface{} 切片中包含的元素的类型,在这个特定示例中,我需要在我的函数中知道f该 interface{} 切片包含string值。
我的用例是,使用反射,我试图根据我的 interface{} 参数切片所持有的值的类型来设置一个结构字段。
素胚勾勒不出你
相关分类