专门做茶叶的网站,wordpress 调用小工具,成都网站制作软件,哪个网站收录排名好除了 spew#xff0c;我们当然也可以直接选择通过 IDE 的 debug 功能来调试。 spew
go-spew 是一个帮助开发者更直观地打印变量的工具.
通过 fmt.Print 系列方法打印变量或者结构体、数组的时候#xff0c;我们看到的信息其实是很不直观的#xff0c;而借助 go-spew 可以非… 除了 spew我们当然也可以直接选择通过 IDE 的 debug 功能来调试。 spew
go-spew 是一个帮助开发者更直观地打印变量的工具.
通过 fmt.Print 系列方法打印变量或者结构体、数组的时候我们看到的信息其实是很不直观的而借助 go-spew 可以非常直观地看到打印变量的信息比如类型、结构体字段等。
安装
go get -u github.com/davecgh/go-spew/spew示例
打印基础类型
a : 1
fmt.Println(a)
spew.Dump(a)输出
1
(int) 1 // 比 fmt 的输出多了类型信息打印结构体
p : Person{Name: spew,age: 23,
}
fmt.Println(p)
spew.Dump(p)输出
{spew 23}
(main.Person) { // 比 fmt 的输出多了类型、字段名、字段类型、字符串类型的长度等信息另外还有缩进Name: (string) (len4) spew,age: (int) 23
}打印切片
arr : [...]int{1, 2, 3}
fmt.Println(arr)
spew.Dump(arr)输出
[1 2 3]
([3]int) (len3 cap3) { // 比 fmt 的输出多了长度、类型、容量等信息而且输出的格式是带缩进的(int) 1,(int) 2,(int) 3
}打印到 Writer
someWriter 是任何实现了 io.Writer 的对象。
spew.Fdump(someWriter, myVar1, myVar2, ...)获取格式化的字符串
下面这个 Sdump 会返回一个字符串而不是直接输出。
str : spew.Sdump(myVar1, myVar2, ...)调试 Web 应用
使用 Sdump 来获取结构体的所有详细信息。
func handler(w http.ResponseWriter, r *http.Request) {w.Header().Set(Content-Type, text/html)fmt.Fprintf(w, Hi there, %s!, r.URL.Path[1:])fmt.Fprintf(w, !--\n html.EscapeString(spew.Sdump(w)) \n--)
}