各类动词解释

通用

动词 示例 含义
%v 默认格式输出,当输出结构体时,扩展标志(%+v)会添加字段名
%#v 值的 Go 语法表示
%T 值的类型的Go语法表示
%% 百分号

布尔类型

动词 示例 含义
%t true 单词 true 或 false

整数类型

动词 示例 含义
%b 表示二进制
%c 该值对应的unicode码值
%d 表示为十进制
%o 表示为八进制
%q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
%x 表示为十六进制,使用a-f
%X 表示为十六进制,使用A-F
%U 表示为Unicode格式:U+1234,等价于"U+%04X"

浮点数和负数

动词 示例 含义
%b 无小数部分、二进制指数的科学计数法,如-123456p-78
%e 科学计数法,如-1234.456e+78
%E 科学计数法,如-1234.456E+78
%f 有小数部分但无指数部分,如123.456
%F 等价于%f
%g 根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
%G 根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)

对于浮点数,宽度设置输出总长度;精度设置小数部分长度(如果有的话),除了%g/%G,此时精度设置总的数字个数。例如,对数字123.45,格式%6.2f 输出123.45;格式%.4g输出123.5。

%e和%f的默认精度是6,%g的默认精度是可以将该值区分出来需要的最小数字个数。

精度通过(可能有的)宽度后跟点号后跟的十进制数指定。如果未指定精度,会使用默认精度;如果点号后没有跟数字,表示精度为0。举例如下:

%f:    默认宽度,默认精度
%9f    宽度9,默认精度
%.2f   默认宽度,精度2 
%9.2f  宽度9,精度2 
%9.f   宽度9,精度0

字符串和 []byte

动词 示例 含义
%s 直接输出字符串或者[]byte
%q 该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示
%x 每个字节用两字符十六进制数表示(使用a-f)
%X 每个字节用两字符十六进制数表示(使用A-F)

指针

动词 示例 含义
%p 表示为十六进制,并加上前导的0x

参考

https://www.cnblogs.com/yinzhengjie/p/7680829.html