Como ocultar campos de struct ao serializar em JSON em Go?
Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com JSON. Tenho uma struct `User` que contém muitos campos, mas na resposta JSON da API preciso retornar apenas parte deles. Por exemplo, não quero mostrar a senha e o ID interno do usuário.
Aqui está meu código:
```go
type User struct {
ID int `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
Password string `json:"password"`
InternalID string `json:"internal_id"`
}
func main() {
user := User{
ID: 1,
Name: "Иван",
Email: "ivan@example.com",
Password: "secret123",
InternalID: "int-001",
}
jsonData, _ := json.Marshal(user)
fmt.Println(string(jsonData))
// Output: {"id":1,"name":"Иван","email":"ivan@example.com","password":"secret123","internal_id":"int-001"}
}
```
Quero que na resposta JSON apareçam apenas `id`, `name` e `email`, e que `password` e `internal_id` não sejam serializados.