在 Go 中打印复杂的数据结构可能具有挑战性,特别是当您想要一种人类可读且缩进良好的表示形式时。 Ruby 的 Awesome_print 库为此任务提供了一个优雅的解决方案,Go 开发人员可能想知道是否有等效的解决方案。
虽然有几个第三方库可用于为了实现漂亮的打印,Go 还提供了使用 json.MarshalIndent 的原生解决方案。此函数将 Go 数据结构转换为 JSON 表示形式,并允许您指定缩进。
x := map[string]interface{}{"a": 1, "b": 2} b, err := json.MarshalIndent(x, "", " ") if err != nil { fmt.Println("error:", err) } fmt.Print(string(b))
此代码将产生以下输出:
{ "a": 1, "b": 2 }
对于高级格式化需求,您可以探索第三方库像:
以上是如何在 Go 中漂亮地打印复杂的数据结构?的详细内容。更多信息请关注PHP中文网其他相关文章!