Avatar ·

Para que servem as tags de struct em Go e como usá-las?

Olá a todos! Comecei a estudar Go recentemente e me deparei com algo chamado tags de struct. Vejo que nos exemplos de código frequentemente escrevem algo como: ```go type User struct { Name string `json:"name"` Age int `json:"age"` } ``` Ou ainda: ```go type Config struct { Host string `yaml:"host"` Port int `yaml:"port"` } ``` Eu entendo que são metadados entre crases, mas para que servem exatamente? Sem eles o código também funciona. Tentei remover as tags — e o programa compilou, mas depois, ao trabalhar com JSON, meus campos começaram a ser nomeados com letra maiúscula, e não como eu queria. Expliquem, por favor, para leigos: o que são tags de struct, por que foram criadas e em quais situações reais são aplicadas? Tenho especial interesse em como criá-las e usá-las por conta própria, não apenas para JSON/YAML. Existem algumas armadilhas? Desde já, obrigado! <<>>

O que são tags de struct e para que servem?

As tags