天天看点

Go标准库fmt的通配符用法总览%v 格式化常规对象%v 格式化复合对象%f 浮点数的宽度

Go标准库fmt的通配符

  • 总览
  • %v 格式化常规对象
  • %v 格式化复合对象
  • %f 浮点数的宽度

总览

类型 通配符 含义
通用 %v 值的默认格式
通用 %+v 类似%v,但输出结构体时会添加字段名
通用 %#v Go语法表示值
通用 %T Go语法表示类型
通用 %% 百分号表示
布尔值 %t true或false
整数 %b 表示二进制
整数 %c 该值对应的unicode吗值
整数 %d 表示十进制
整数 %o 表示八进制
整数 %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
整数 %x 表示为十六进制,使用a-f
整数 %X 表示为十六进制,使用A-F
整数 %U 表示为Unicode格式:U+1234,等价于"U+%04X"
浮点数与复数 %b 无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat
浮点数与复数 %e 科学计数法,例如 -1234.456e+78
浮点数与复数 %E 科学计数法,例如 -1234.456E+78
浮点数与复数 %f 有小数点而无指数,例如 123.456
浮点数与复数 %F 等价于%f
浮点数与复数 %g 根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
浮点数与复数 %G 根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)
字符串和字节片段 %s 输出字符串表示(string类型或[]byte)
字符串和字节片段 %q 双引号围绕的字符串,由Go语法安全地转义
字符串和字节片段 %x 十六进制,小写字母,每字节两个字符 (使用a-f)
字符串和字节片段 %X 十六进制,大写字母,每字节两个字符 (使用A-F)
指针 %p base 16表示法,带前导0x

%v 格式化常规对象

类型 格式
bool %t
int, int8 etc. %d
uint, uint8 etc. %d, %#x if printed with %#v
float32, complex64, etc %g
string %s
chan %p
pointer %p

%v 格式化复合对象

类型 格式
struct {field0 field1 …}
array, slice [elem0 elem1 …]
maps map[key1:value1 key2:value2]
pointer to above &{}, &[], &map[]

%f 浮点数的宽度

格式 含义
%f default width, default precision
%9f width 9, default precision
%.2f default width, precision 2
%9.2f width 9, precision 2
%9.f width 9, precision 0

继续阅读