go 打印 %v %+v %#v 的区别
Posted liuhmmjj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 打印 %v %+v %#v 的区别相关的知识,希望对你有一定的参考价值。
v 值的默认格式
%+v 添加字段名(如结构体就先输出结构体的字段类型,再输出该字段的值)
%#v 相应值的Go语法表示
代码示例:
package main
import (
"fmt"
)
type EqStruct struct{
Name string
Age int32
}
func main(){
e1 := EqStruct{}
e1.Name = "2"
fmt.Printf("e1=%v \\n", e1)
//如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。
fmt.Printf("e1=%+v \\n", e1)
//%#v 形式则输出这个值的 Go 语法表示。例如,值的运行源代码片段。
fmt.Printf("e1=%#v \\n", e1)
}
结果:
e1={2 0}
e1={Name:2 Age:0}
e1=main.EqStruct{Name:"2", Age:0}
以上是关于go 打印 %v %+v %#v 的区别的主要内容,如果未能解决你的问题,请参考以下文章