如何将 reflect.Value 转换为它的类型?type Cat struct { Age int}cat := reflect.ValueOf(obj)fmt.Println(cat.Type()) // Catfmt.Println(Cat(cat).Age) // doesn't compilefmt.Println((cat.(Cat)).Age) // same
3 回答
皈依舞
TA贡献1851条经验 获得超3个赞
concreteCat,_ := reflect.ValueOf(cat).Interface().(Cat)
参见http://golang.org/doc/articles/laws_of_reflection.html 狐狸示例
type MyInt int
var x MyInt = 7
v := reflect.ValueOf(x)
y := v.Interface().(float64) // y will have type float64.
fmt.Println(y)
- 3 回答
- 0 关注
- 300 浏览
添加回答
举报
0/150
提交
取消