Avatar ·

Cómo imprimir una estructura (struct) en la consola en Go: análisis completo de métodos

¡Hola a todos! Acabo de empezar a estudiar Go y me encontré con este problema: tengo una estructura que describe, por ejemplo, un usuario: ```go type User struct { Name string Age int Email string } ``` Creo una instancia de esta estructura: ```go user := User{Name: "Iván", Age: 30, Email: "ivan@example.com"} ``` E intento imprimirla en la consola con `fmt.Println(user)` o `fmt.Printf("%v", user)`. Como resultado, veo algo como `{Iván 30 ivan@example.com}` — esto, por supuesto, es mejor que nada, pero no es nada claro. Especialmente si hay muchos campos o la estructura está anidada. Lo que quiero: 1. Ver los nombres de los campos (Name, Age, Email) en la salida. 2. Que la estructura se imprima en un formato legible, posiblemente con sangrías. 3. Que funcione para cualquier estructura, no solo para la mía. Probé `fmt.Printf("%+v", user)` — esto muestra los nombres de los campos, pero aún así en una sola línea. Para estructuras complejas no es conveniente. ¿Podrían indicarme qué métodos existen en Go para una impresión bonita de estructuras?