Go 占位符
说明代码
本文部分示例代码基于以下代码执行
1 | type User struct { |
普通占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%v |
相应值的默认格式 | Printf("%v", stolen) |
{stolen 18 true} |
%+v |
打印结构体时会添加字段名 | Printf("%+v", stolen) |
{name:stolen age:18 man:true} |
%#v |
相应类型的 Go 语言表达方式 | Printf("%#v", stolen) |
main.User{name:"stolen", age:18, man:true} |
%T |
相应值的类型的 Go 语法表示 | Printf("%T", stolen) |
main.User |
%% |
取消对 % 的转译 | Printf("%%") |
% |
布尔占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%t |
对布尔值的格式化输出,值为 true 或 false | Printf("%t", stolen.man) |
true |
整数占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%b |
二进制表示 | Printf("%b", stolen.age) |
10010 |
%#b |
二进制表示,开头有二进制标识 0b | Printf("%#b", stolen.age) |
0b10010 |
%c |
相应Unicode码点所表示的字符 | Printf("%c", 20013) |
中 |
%d |
十进制表示 | Printf("%d", stolen.age) |
18 |
%o |
八进制表示 | Printf("%o", stolen.age) |
22 |
%#o |
八进制表示,开头有八进制标识 0 | Printf("%#o", stolen.age) |
022 |
%q |
单引号围绕的字符字面值,由Go语法安全地转义 | Printf("%q", 20013) |
'中' |
%x |
十六进制表示,字母形式为小写 a-f | Printf("%x", stolen.age) |
12 |
%#x |
十六进制表示,字母形式为小写 a-f,开头有十六进制标识 0x | Printf("%#x", stolen.age) |
0x12 |
%X |
十六进制表示,字母形式为小写 A-F | Printf("%X", stolen.age) |
12 |
%#X |
十六进制表示,字母形式为小写 A-F,开头有十六进制标识 0X | Printf("%#X", stolen.age) |
0X12 |
%U |
Unicode格式:U+1234 ,等同于 U+%04X |
Printf("%U", 0x4E2D) |
U+4E2D |
浮点占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%b |
指数为二的幂的科学计数法,例如1.0的值为 4503599627370496 * 2 ^ -52 | Printf("%b", 1.0) |
4503599627370496p-52 |
%e |
科学计数法,输出显示为小e | Printf("%e", 120.0) |
1.200000e+02 |
%E |
科学计数法,输出显示为大E | Printf("%E", 120.0) |
1.200000E+02 |
%f |
以值的形式显示小数 | Printf("%f", 120.0) |
120.000000 |
%g |
根据形势选择 %e 或 %f | Printf("%g %g", 120.0,1200000.0) |
120 1.2e+06 |
%G |
根据形势选择 %E 或 %f | Printf("%G %G", 120.0,1200000.0) |
120 1.2E+06 |
字符串与字符切片
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%s |
输出字符串表示(string类型或[]byte) | Printf("%s %s", []byte(stolen.name), stolen.name) |
stolen stolen |
%q |
双引号围绕的字符串 | Printf("%q", stolen.name) |
"stolen" |
%x |
十六进制, 小写字母, 每字节两个字符 | Printf("%x", stolen.name) |
73746f6c656e |
%X |
十六进制, 大写字母, 每字节两个字符 | Printf("%X", []byte(stolen.name)) |
73746F6C656E |
指针
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%p |
指针的值 | Printf("%p", &stolen) |
0x119ade0 |
参考文章: