refactor Field to have defaultTag field which value is from parent struct

This commit is contained in:
jaemin 2015-03-04 19:02:03 +09:00
parent a093a86a06
commit 79afa3ec1c
2 changed files with 7 additions and 5 deletions

View File

@ -16,6 +16,7 @@ var (
type Field struct {
value reflect.Value
field reflect.StructField
defaultTag string
}
// Tag returns the value associated with key in the tag string. If there is no
@ -92,7 +93,7 @@ func (f *Field) Set(val interface{}) error {
//
// It panics if field is not exported or if field's kind is not struct
func (f *Field) Fields() []*Field {
return getFields(f.value, DefaultTagName)
return getFields(f.value, f.defaultTag)
}
// Field returns the field from a nested struct. It panics if the nested struct

View File

@ -224,6 +224,7 @@ func (s *Struct) FieldOk(name string) (*Field, bool) {
return &Field{
field: field,
value: s.value.FieldByName(name),
defaultTag: s.TagName,
}, true
}