Avatar ·

Remoção de campos de uma struct ou sua ocultação na resposta JSON em Go

Olá a todos! Sou novo em Go e me deparei com o seguinte problema. Tenho uma struct User que é usada para armazenar dados do usuário no banco de dados e para enviar respostas JSON via REST API. ```go type User struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Password string `json:"password"` Role string `json:"role"` } ``` Quando retorno o usuário em JSON (por exemplo, após o registro), não quero enviar o campo Password e, possivelmente, o campo Role (para usuários comuns). Mas não quero criar structs separadas para cada caso — isso leva à duplicação de código. Tentei usar `json:"-"` para o campo Password, mas assim ele nunca será incluído no JSON, e preciso que ele esteja na resposta em alguns cenários (por exemplo, para o admin). Também tentei deixar os campos como strings vazias ou zeros, mas no JSON eles ainda aparecem. Como ocultar ou remover campos corretamente?