Golang fmt.Printf输出占位符总结
  • 通用占位符:
    • %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(左对齐)
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
上一篇
下一篇