以下代碼。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 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消