猿问

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

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


type Cat struct { 

    Age int

}


cat := reflect.ValueOf(obj)

fmt.Println(cat.Type()) // Cat


fmt.Println(Cat(cat).Age) // doesn't compile

fmt.Println((cat.(Cat)).Age) // same


梵蒂冈之花
浏览 301回答 3
3回答

皈依舞

concreteCat,_ := reflect.ValueOf(cat).Interface().(Cat)参见http://golang.org/doc/articles/laws_of_reflection.html 狐狸示例type MyInt intvar x MyInt = 7v := reflect.ValueOf(x)y := v.Interface().(float64) // y will have type float64.fmt.Println(y)

慕桂英3389331

好的,我找到了reflect.Value有一个函数Interface()可以将其转换为interface{}
随时随地看视频慕课网APP

相关分类

Go
我要回答