Avatar ·

如何在Go中将结构体输出到控制台:方法全面解析

大家好!我刚开始学习Go,遇到了一个问题:我有一个描述用户的结构体: ```go type User struct { Name string Age int Email string } ``` 我创建了这个结构体的实例: ```go user := User{Name: "Иван", Age: 30, Email: "ivan@example.com"} ``` 然后尝试通过 `fmt.Println(user)` 或 `fmt.Printf("%v", user)` 将其输出到控制台。结果我看到类似 `{Иван 30 ivan@example.com}` 的内容——这当然比没有好,但非常不直观。特别是当字段很多或结构体嵌套时。 我想要的是: 1. 在输出中看到字段名(Name, Age, Email)。 2. 结构体能以可读的形式输出,可能带有缩进。 3. 这对任何结构体都有效,而不仅仅是我自己的。 我试过 `fmt.Printf("%+v", user)`——这显示了字段名,但仍然在一行内。对于复杂结构体来说很不方便。请告诉我,Go中有哪些方法可以漂亮地输出结构体?