以下代码。func fieldsTest(target interface{}) ([]field, error) { s := reflect.ValueOf(target) s = s.Elem() targetType := s.Type() for i := 0; i < s.NumField(); i++ { f := s.Field(i) structField := targetType.Field(i) ...}如果目标接口是struct,f的返回值与structField相同?
1 回答
森林海
TA贡献2011条经验 获得超2个赞
Type.Field()
返回类型 的值reflect.StructField
,并Value.Field()
返回类型 的值reflect.Value
。所以它们不可能是相同的。
Type.Field()
返回一个描述字段类型的值,而不考虑任何实际的结构值。返回包装结构体值的字段值Value.Field()
的a 。reflect.Value
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消