如何在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中有哪些方法可以漂亮地输出结构体?