Printf() 函数可以使用多种格式化动词对输出进行格式化。下面是可以与所有数据类型一起使用的一些通用格式化动词:

通用格式化动词:
以下动词适用于所有数据类型:

动词描述
%v以默认格式打印值
%#v以 Go 语法格式打印值
%T打印值的类型
%%打印百分号

示例:

package mainimport (  "fmt")func main() {  var i = 15.5  var txt = "Hello World!"  fmt.Printf("%v\n", i)  fmt.Printf("%#v\n", i)  fmt.Printf("%v%%\n", i)  fmt.Printf("%T\n", i)  fmt.Printf("%v\n", txt)  fmt.Printf("%#v\n", txt)  fmt.Printf("%T\n", txt)}

结果:

15.515.515.5%float64Hello World!"Hello World!"string

整数格式化动词

以下动词适用于整数数据类型:

动词描述
%b二进制
%d十进制
%+d带符号的十进制
%o八进制
%O八进制(带 0o 前缀)
%x十六进制(小写)
%X十六进制(大写)
%#x带 0x 前缀的十六进制
%4d使用空格填充(宽度 4,右对齐)
%-4d使用空格填充(宽度 4,左对齐)
%04d使用零填充(宽度 4)

示例:

package mainimport (  "fmt")func main() {  var i = 15  fmt.Printf("%b\n", i)  fmt.Printf("%d\n", i)  fmt.Printf("%+d\n", i)  fmt.Printf("%o\n", i)  fmt.Printf("%O\n", i)  fmt.Printf("%x\n", i)  fmt.Printf("%X\n", i)  fmt.Printf("%#x\n", i)  fmt.Printf("%4d\n", i)  fmt.Printf("%-4d\n", i)  fmt.Printf("%04d\n", i)}

结果:

111115+15170o17fF0xf  15150015

字符串格式化动词

以下动词适用于字符串数据类型:

动词描述
%s普通字符串打印
%q双引号包裹的字符串打印
%8s普通字符串打印(宽度 8,右对齐)
%-8s普通字符串打印(宽度 8,左对齐)
%x字节值的十六进制转储
% x带空格的十六进制转储

示例:

package mainimport (  "fmt")func main() {  var txt = "Hello"  fmt.Printf("%s\n", txt)  fmt.Printf("%q\n", txt)  fmt.Printf("%8s\n", txt)  fmt.Printf("%-8s\n", txt)  fmt.Printf("%x\n", txt)  fmt.Printf("% x\n", txt)}

结果:

Hello"Hello"   HelloHello48656c6c6f48 65 6c 6c 6f

布尔格式化动词

以下动词适用于布尔数据类型:

动词描述
%t布尔运算符的 true 或 false 格式(与 %v 相同)

示例:

package mainimport (  "fmt")func main() {  var i = true  var j = false  fmt.Printf("%t\n", i)  fmt.Printf("%t\n", j)}

结果:

truefalse

浮点数格式化动词

以下动词适用于浮点数数据类型:

动词描述
%e科学计数法,指数为 ‘e’
%f小数点,无指数部分
%.2f默认宽度,精度为 2
%6.2f宽度 6,精度 2
%g必要时使用指数,仅保留必要的位数

示例:

package mainimport (  "fmt")func main() {  var i = 3.141  fmt.Printf("%e\n", i)  fmt.Printf("%f\n", i)  fmt.Printf("%.2f\n", i)  fmt.Printf("%6.2f\n", i)  fmt.Printf("%g\n", i)}

结果:

3.141000e+003.1410003.14  3.143.141

请注意,这个翻译可能不是完美的,因为语言之间的表达方式可能有细微的差异。

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注