以下代碼。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) ...}如果目標(biāo)接口是struct,f的返回值與structField相同?
1 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
Type.Field()
返回類型 的值reflect.StructField
,并Value.Field()
返回類型 的值reflect.Value
。所以它們不可能是相同的。
Type.Field()
返回一個(gè)描述字段類型的值,而不考慮任何實(shí)際的結(jié)構(gòu)值。返回包裝結(jié)構(gòu)體值的字段值Value.Field()
的a 。reflect.Value
- 1 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報(bào)
0/150
提交
取消