为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 reflect.Value 转换为它的类型?

如何将 reflect.Value 转换为它的类型?

Go
梵蒂冈之花 2021-06-09 09:21:40
如何将 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)


查看完整回答
反对 回复 2021-06-21
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

好的,我找到了

reflect.Value有一个函数Interface()可以将其转换为interface{}


查看完整回答
反对 回复 2021-06-21
  • 3 回答
  • 0 关注
  • 300 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信