在go语言中使用fmt或者log打印格式信息输出控制
在go语言中如何控制fmt或log打印格式输出?使用此参考作为如何控制 fmt 或日志打印功能格式的指南。
一般的:
%v默认格式的值。打印结构时,加号标志 (%+v) 添加字段名称
%#v值的 Go 语法表示
%T值类型的 Go 语法表示
%%文字百分号;不消耗任何价值
布尔值:
%t真或假这个词
整数:
%b基地2
%c由相应的 Unicode 码位表示的字符
%d基数 10
%o以8 为基数 - 八进制(参见此处关于前导零问题)
%q使用 Go 语法安全转义的单引号字符文字。
%x以 16 为基数,小写字母表示 af
%X以 16 为基数,AF 为大写字母
%UUnicode 格式:U+1234;与“U+X”相同
浮点数和复数成分:
%b指数为 2 的无十进制科学记数法,采用 strconv.FormatFloat 的方式,格式为“b”,例如 -123456p-78
%e科学计数法,例如 -1234.456e+78
%E科学计数法,例如 -1234.456E+78
%f小数点但没有指数,例如 123.456
%g%e 或 %f 中的哪一个产生更紧凑的输出
%G%E 或 %f 中的哪一个产生更紧凑的输出
字符串和字节片:
%s字符串或切片的未解释字节
%q使用 Go 语法安全转义的双引号字符串
%x基数 16,小写,每字节两个字符
%X以 16 为基数,大写,每字节两个字符
指针:
%p以 16 为基数的表示法,前导 0x
其他标志:
+始终为数值打印符号;保证 %q (%+q) 仅输出 ASCII
-在右侧而不是左侧填充空格(左对齐字段)
#替代格式:为八进制添加前导 0 (%#o),为十六进制添加 0x (%#x);
0X 表示十六进制 (%#X);为 %p (%#p) 抑制 0x;
如果可能,为 %q (%#q) 打印一个原始(反引号)字符串;
如果字符对于 %U (%#U) 是可打印的,则写入例如 U+0078 'x'。
' '(空格)为省略的登录数字留一个空格(% d);
在字节之间放置空格以十六进制打印字符串或切片 (% x, % X)
0用前导零而不是空格填充
参考
https://golang.org/pkg/fmt/
相关文章