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

Posted live4m

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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}

以上是关于golang:%v,%+v,%#v的区别的主要内容,如果未能解决你的问题,请参考以下文章

Golang&(*(V))的语义

向量 v 的 v[0]、v.begin() 和 v.data() 有啥区别?

golang中time包的使用

go 打印 %v %+v %#v 的区别

go 打印 %v %+v %#v 的区别

golang中%b %c %v %T