func lookupJsonTags(f reflect.StructField) (name string, omit bool, inline bool, omitempty bool) { … } func isZero(v reflect.Value) 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 list of options // contains a particular substr flag. substr must be surrounded by a // string boundary or commas. func (o tagOptions) Contains(optionName string) bool { … }