当字段是接口类型时,如何在使用reflect.TypeOf(struct.field)
时获得与FieldByName
相同的值?
如here所示,如果struct字段是一个接口,reflect.TypeOf(struct.field)
给我具体的类型,但reflect.ValueOf(struct).FieldByName("field").Type()
给了我接口。如果{I}有struct.field
和struct
,是否可以使用反射来获取"field"
中存储的具体类型?
答案 0 :(得分:0)
您应该使用Elem()
// Elem返回接口v包含的值
提取类型的正确方法
reflect.ValueOf(h).Elem().FieldByName("i").Elem().Type().String()