主题: golang的%v、%+v、%#v
%v 只输出所有的值
%+v 先输出字段类型,再输出该字段的值
%#v 先输出结构体名字值,再输出结构体(字段类型+字段的值)
package main
import "fmt"
type student struct {
name string
id int
}
func main() {
s := &student{"jiafu", 123456}
fmt.Printf("%%v的方式 = %v\n", s)
fmt.Printf("%%+v的方式 = %+v\n", s)
fmt.Printf("%%#v的方式 = %#v\n", s)
}
输出结果如下:
%v的方式 = &{jiafu 123456}
%+v的方式 = &{name:jiafu id:123456}
%#v的方式 = &main.student{name:"jiafu", id:123456}
这些属于golang特色占位符,详见https://pkg.go.dev/fmt