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

Type.Field 和 Value.Field 有什么区别?

Type.Field 和 Value.Field 有什么区别?

Go
MMMHUHU 2023-07-17 16:53:09
以下代码。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


查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

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