ExpertiDict

Go · Intermediário · Inglês · Técnico

struct tag

/strʌkt tæɡ/substantivo

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

Veja também

Todos os termos de Go