Go Wiki: Well-known struct tags
Background
Go offers struct tags which are discoverable via reflection. These enjoy a wide range of use in the standard library in the JSON/XML and other encoding packages.
The community welcomed them and has built ORMs, further encodings, flag parsers and much more around them since, especially for these tasks, single-sourcing is beneficial for data structures.
Problem description
Due to increased usage of Go and thus Go struct tags, clashes become inevitable.
Solution
The list below is a best effort to document well-known struct tags used by packages which are available to the public.
Format of the list
- Struct tag as extracted by calling https://pkg.go.dev/reflect#StructTag.Get with this tag as the
key
argument. - Documentation link of this package using https://pkg.go.dev
Example entry
Tag | Documentation |
---|---|
xml | https://pkg.go.dev/encoding/xml |
Change Management
List entries can be added by anyone who creates a public package where a new tag is used. List entries can be removed when the links to the package documentation stops working or the author(s) of that package requests it.
List of well-known struct tags
This content is part of the Go Wiki.