- 通用占位符:
- %v:以默认的方式打印变量的值
- %+v:当打印结构体时,会添加字段名
- %#v:Go语言风格的值表达
- %T:打印变量的类型
- %%:字面上的百分号,并非值的占位符
 
- 整型:
- %d:十进制表示
- %+d:带符号的整型
- %q:打印单引号
- %o:不带零的八进制
- %#o:带零的八进制
- %x:小写的十六进制
- %X:大写的十六进制
- %#x:带0x的十六进制
- %U:打印Unicode字符
- %#U:打印带字符的Unicode
- %b:打印整型的二进制
 
- 浮点数:
- %f:6位小数点(默认)
- %e:6位小数点(科学计数法)
- %g:用最少的数字来表示
 
- 字符串:
- %s:正常输出字符串
- %q:字符串带双引号,字符串中的引号带转义符
- %#q:字符串带反引号,如果字符串内有反引号,就用双引号代替
- %x:将字符串转换为小写的16进制格式
- %X:将字符串转换为大写的16进制格式
 
- 结构体:
- %v:以默认的方式打印变量的值
- %+v:在打印结构体时,会添加字段名
- %#v:在打印结构体时,会添加字段名和包名
 
- 布尔值:
- %t:打印true或false
 
- 指针:
- %p:带0x的指针(指针值带有0x的十六进制前缀)
 
此外,还可以通过指定宽度和精度来控制输出格式。例如,对于整型和浮点数,可以使用如下占位符:
- 整型宽度:
- %5d:整型长度为5,右对齐,左边留白
- %-5d:左对齐右边留白
- %05d:数字前面补零
 
- 浮点数精度:
- %.3g:最多3位数字来表示
- %.3f:最多3位小数来表示
 
对于字符串也可以指定宽度和精度:
- 字符串宽度:
- %5s:最小宽度为5
- %-5s:最小宽度为5(左对齐)