Basics
Golang structs are what you expect
Struct fields
Struct fields are accessed using a dot
Struct literals
You can also newly allocate a struct by listing the values of its
fields. This is known as a “struct literal” (duh)
Struct tags allow other
modules accessing struct members to format member values.
Control encoding
Remove empty fields
Ignore private fields