golang中占位符
在 Go 语言中,fmt
包提供了强大的格式化字符串和数值的功能。占位符(也称为转换说明符)允许你在输出字符串中预留位置,然后用变量或其他表达式的值来填充。以下是一些常见的占位符及其说明:
标准占位符
- %v:默认格式化值。如果不确定类型,可以使用此占位符。
- %#v:Go 语法表示的值,对于结构体会包含字段名。
- %T:打印变量的类型。
- %%:输出一个百分号(
%
)。
数字类型占位符
- %d:十进制整数。
- %b:二进制整数。
- %c:单个字符(由整数或
rune
类型转换而来)。 - %o:八进制整数。
- %x 或 %X:十六进制整数,分别使用小写字母
a-f
或大写字母A-F
。 - %e 或 %E:科学记数法表示浮点数,分别使用小写
e
或大写E
。 - %f:标准浮点数格式。
- %g 或 %G:使用
%e
或%f
中较短的一种格式表示浮点数,去掉不必要的小数点后缀。 - %t:布尔值,输出
true
或false
。
字符串和字节切片占位符
- %s:输出字符串,适用于
string
类型或[]byte
类型。 - %q:输出由双引号包围的字符串,其中特殊字符会被转义,适合用于源代码中的字符串字面量。
其他占位符
- %p:十六进制表示指针值,常用于打印内存地址。
- %U 和 %#U:用于 Unicode 代码点的格式化,分别输出
U+hhhh
和0xhhhh
形式。
控制符
除了上述占位符,还可以使用以下控制符来进一步定制输出格式:
- 宽度:通过在占位符前加上数字来指定最小宽度,例如
%5d
。 - 精度:对于浮点数和字符串,可以在宽度后加上一个点和数字来指定精度或最大长度,例如
%.2f
或%10.5s
。 - 对齐方式:通过在宽度前加
-
来左对齐,不加则默认右对齐。
例如,%-10s
会使字符串左对齐并至少占据 10 个字符空间,不足的部分用空格填充。