A utilização de tags ajuda muito na hora de escrever funções genéricas. Um exemplo disso é a função json.Marshal
. Não importa como sua struct está estruturada, se ela tiver a tag json
no atributo, a função consegue fazer o que precisa ser feito.
Se você não sabe do que eu estou falando, te convido à ler o post “O que são e como utilizar tags”. Lá dou todo o contexto para que você possa entender melhor o que vamos fazer aqui nesse post.
Além do package json, existe uma infinidade de outros packages que tiram vantagem da utilização das tags. Esses packages vão desde encoders até ORMs.
Embora existam packages que ajudem na validação de campos, para fins didáticos, vamos criar uma função que utiliza da tag required
para saber se um campo é ou não obrigatório.
func validateFields(stc any) error { }Leia mais »