Uma tag para um campo permite anexar meta-informações ao campo que podem ser adquiridas usando reflection.
Geralmente é usado para fornecer informações de transformação sobre como um campo é codificado ou decodificado de outro formato.
type User struct {
Name string `json:"name" xml:"name"`
}
Você pode usá-lo para armazenar qualquer meta-informação que desejar, seja destinado a outro pacote ou para seu próprio uso.
Para exemplificar, o pacote encoding/json usa as tags para saber qual o nome equivalente de cada campo no objeto json, como vemos ao lado.