一尘不染

如何漂亮地打印变量

go

awesome_printGo中有类似Ruby的东西吗?

例如,在Ruby中,您可以编写:

require 'ap'
x = {a:1,b:2} // also works for class
ap x

输出将是:

{ 
  "a" => 1,
  "b" => 2
}

我能找到的最接近的东西是 Printf("%#v", x)


阅读 167

收藏
2020-07-02

共1个答案

一尘不染

如果您的目标是避免导入第三方软件包,则另一个选择是使用json.MarshalIndent

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
}

工作示例:http :
//play.golang.org/p/SNdn7DsBjy

2020-07-02