Go · Intermediário · Inglês · Técnico
struct tag
Texto entre crases ao lado de um campo, lido por reflexão por bibliotecas como o encoding/json para configurar nomes e comportamento.
Onde usar
A tag `json:"nome,omitempty"` é o exemplo clássico; também aparecem em ORMs e validadores. Um erro de digitação na tag não dá erro de compilação.
Em código
type User struct {
Name string `json:"name"`
Email string `json:"email,omitempty"`
}
b, _ := json.Marshal(User{Name: "Ana"})
fmt.Println(string(b))Exemplos
Add a struct tag so the field is called user_id in the JSON.
Adicione uma struct tag para o campo se chamar user_id no JSON.
A typo in the struct tag fails silently.
Um erro de digitação na struct tag falha em silêncio.
Cuidado
O compilador não valida a tag: só o go vet checa o formato básico, então erros viram bugs silenciosos.
Sinônimos
tag de campo