code: func Tag(s interface{}, name string) (reflect.StructTag, error) {
  	sv, err := structValue(s)
  	if err != nil {
  		return "", err
  	}
  
  	if fv, ok := sv.Type().FieldByName(name); ok {
  		return fv.Tag, nil
  	}
  
  	return "", fmt.Errorf("Field: '%v', does not exists", name)
  }
docs: // Tag method returns the exported struct field `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"`
  // 		}
  //
  // 		tag, _ := model.Tag(src, "ArchiveInfo")
  // 		fmt.Println("Tag Value:", tag.Get("json"))
  //
  // 		// Output:
  // 		Tag Value: archive_info,omitempty
  //