跳到主要内容

Go fmt 格式化输出

· 阅读需 2 分钟
素明诚
Full stack development

基本格式化占位符

占位符描述
%v默认格式输出变量的值。结构体时输出字段值。
%+v输出结构体时包括字段名和字段值。
%#v输出值的 Go 语法表示,即源代码片段。
%T输出值的类型。
%d, %b, %o, %x, %X分别表示整数的十进制、二进制、八进制、小写十六进制和大写十六进制格式。
%f, %e, %E, %g, %G分别表示浮点数的默认格式、小写和大写的科学计数法、最短表示法(自动选择 %e 或 %f)。
%s输出字符串。
%q输出双引号围绕的由 Go 语法安全转义的字符串。
%p输出指针的地址(十六进制)。
%c输出字符(Unicode 码点)。

格式控制选项

选项描述
%9d宽度为 9 的十进制数,右对齐。
%.2f浮点数,小数点后只保留两位。
%9.2f, %-9.2f宽度为 9,小数点后保留两位的浮点数,分别右对齐和左对齐。
%09d宽度为 9 的十进制数,空白处用零填充。
%+d输出整型数时,显示符号(正数显示 +,负数显示 -)。
% 6d宽度至少为 6,不足部分以空格填充。

注意事项

类型匹配:确保占位符与变量类型匹配,防止类型错误。

精度与宽度:合理设置精度和宽度,注意过小的宽度不会截断输出,而过小的精度可能导致数据丢失。

性能考虑:频繁使用字符串格式化会影响程序性能,尤其是在数据处理和循环中。