golang中的fmt包实现了格式化I/O函数,类似于C的printf和scanf。
#定义示例类型和变量
type Human struct {
Name string
}
var people = Human{Name:"zhangsan"}
普通占位符
| 占位符 | 说明 | 举例 | 输出 |
|---|---|---|---|
| %v | 相应值的默认输出 | Printf("%v",people) | {zhangsan} |
| %+v | 打印结构体时,会添加字段名 | Printf("%+v",people) | {Name:zhangsan} |
| %#v | 相应值的Go语法表示 | Printf("#v",people) | main.Human{Name:"zhangsan"} |
| %% | 字面上的百分号,并非值得占位符 | Printf("%%") | % |
布尔占位符
| 占位符 | 说明 | 举例 | 输出 |
|---|---|---|---|
| %t | true或者false | Printf("%t",true) | true |
整数占位符
| 占位符 | 说明 | 举例 | 输出 |
|---|---|---|---|
| %b | 二进制表示 | Printf("%b",5) | 101 |
| %c | 相应Unicode码点所表示的字符 | Printf("%c",0x4E2D) | 中 |
| %d | 十进制表示 | Printf("%d",0x12) | 18 |
| %o | 八进制表示 | Printf("%d",10) | 12 |
| %q | 单引号围绕的字符字面值,由Go语法安全地转义 | Printf("%q",0x4E2D) | '中' |
| %x | 十六进制表示,字母形式为小写a-f | Printf("%x",13) | d |
| %X | 十六进制表示,字母形式为大写A-F | Printf("%x",13) | D |
| %U | Unicode格式:U+1234,等同于"U+%04X" | Printf("%U",0x4E2D) | U+4E2D |
指针
| 占位符 | 说明 | 举例 | 输出 |
|---|---|---|---|
| %p | 十六进制表示,前缀 0x | Printf("%p",&people) | 0x4f57f0 |
本文详细介绍了Golang中fmt包的使用方法,包括各种数据类型的格式化输出方式,如字符串、布尔值、整数、浮点数、字符、十六进制、结构体等。通过示例展示了如何使用不同的占位符来格式化输出。
820

被折叠的 条评论
为什么被折叠?



