O'Reilly logo
  • SHIBIN MA thinks this is interesting:



Cover of Mastering Go Web Services


It’s called a struct tag, they can be parsed using the reflect package at runtime.

From <https://golang.org/ref/spec#Struct_types>:

A field declaration may be followed by an optional string literal tag, which becomes an attribute for all the fields in the corresponding field declaration.

The tags are made visible through a reflection interface and take part in type identity for structs but are otherwise ignored.
Some packages that use reflection like json and xml use tags to handle special cases better.