type JSONTags … func (t JSONTags) String() string { … } func lookupJSONTags(m types.Member) (JSONTags, bool) { … } type tagOptions … // parseTag splits a struct field's json tag into its name and // comma-separated options. func parseTag(tag string) (string, tagOptions) { … } // Contains reports whether a comma-separated listAlias of options // contains a particular substr flag. substr must be surrounded by a // string boundary or commas. func (o tagOptions) Contains(optionName string) bool { … }