Avatar ·

Como exibir uma struct no console em Go: análise completa das formas

Olá a todos! Comecei a estudar Go recentemente e me deparei com o seguinte problema: tenho uma struct que descreve, por exemplo, um usuário: ```go type User struct { Name string Age int Email string } ``` Crio uma instância dessa struct: ```go user := User{Name: "Ivan", Age: 30, Email: "ivan@example.com"} ``` E tento exibi-la no console com `fmt.Println(user)` ou `fmt.Printf("%v", user)`. Como resultado, vejo algo como `{Ivan 30 ivan@example.com}` — isso é melhor que nada, mas não é nada legível. Especialmente se houver muitos campos ou a struct for aninhada. O que eu quero: 1. Ver os nomes dos campos (Name, Age, Email) na saída. 2. Que a struct seja exibida de forma legível, possivelmente com indentação. 3. Que funcione para qualquer struct, não apenas para a minha. Tentei `fmt.Printf("%+v", user)` — isso mostra os nomes dos campos, mas ainda em uma única linha. Para structs complexas, isso é inconveniente. Digam-me, quais são as formas em Go para exibir structs de maneira bonita?