golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。
| 动 词 |
功 能 |
| %v |
按值的本来值输出 |
| %+v |
在 %v 基础上,对结构体字段名和值进行展开 |
| %#v |
输出 Go 语言语法格式的值 |
| %T |
输出 Go 语言语法格式的类型和值 |
| %% |
输出 % 本体 |
| %b |
整型以二进制方式显示 |
| %o |
整型以八进制方式显示 |
| %d |
整型以十进制方式显示 |
| %x |
整型以十六进制方式显示 |
| %X |
整型以十六进制、字母大写方式显示 |
| %U |
Unicode 字符 |
| %f |
浮点数 |
| %p |
指针,十六进制方式显示 |
type Human struct { Name string}func main() { var people = Human{ Name : "sam", } //%v 相应值的默认格式 => {sam} fmt.Printf("%v", people) //打印结构体时,会添加字段名 => {Name:sam} fmt.Printf("%+v", people) //相应值的Go语法表示 => main.Human{Name:"sam"} fmt.Printf("%#v", people) //相应值的类型的Go语法表示 =>main.Human fmt.Printf("%T", people) //%p 十六进制表示,前缀 0x =>0xc000096220 fmt.Printf("%p", &people)}