golang:%v,%+v,%#v的区别

%v 按默认格式输出
%+v 在%v的基础上额外输出字段名
%#v 在%+v的基础上额外输出类型名

示例代码:

package main

import "fmt"

type T struct{
	a int 
	b float64
}
func test(){
	t:=T{
		a:1,
		b:2.0,
	}
	fmt.Printf("%v\n",t)
	fmt.Printf("%+v\n",t)
	fmt.Printf("%#v\n",t)
}
func main(){
	test()
}

输出结果:

PS E:\goproject> go run "e:\goproject\go_test1\main.go"
{1 2}
{a:1 b:2}
main.T{a:1, b:2}


版权声明:本文为weixin_44178736原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。