Tags

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.

tags.go