code: func Tags(s interface{}) (map[string]reflect.StructTag, error) {
  	sv, err := structValue(s)
  	if err != nil {
  		return nil, err
  	}
  
  	tags := map[string]reflect.StructTag{}
  
  	fields := modelFields(sv)
  	for _, f := range fields {
  		tags[f.Name] = f.Tag
  	}
  
  	return tags, nil
  }
docs: // Tags method returns the exported struct fields `Tag` value from the given struct.
  // 		Example:
  //
  // 		src := SampleStruct {
  // 			BookCount      int         `json:"-"`
  // 			BookCode       string      `json:"-"`
  // 			ArchiveInfo    BookArchive `json:"archive_info,omitempty"`
  // 			Region         BookLocale  `json:"region,omitempty"`
  // 		}
  //
  // 		tags, _ := model.Tags(src)
  // 		fmt.Println("Tags:", tags)
  //