最适合网络开发者的网站
Golang。初学者课程

尿素

Go 格式化动词


Printf() 的格式化动词

Go 提供了几种格式化动词,可以与 Printf() 功能。


通用格式化动词

以下动词可用于所有数据类型:

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

例子

软件包 main
导入(“fmt”)

函数main(){
变量 i = 15.5
var txt = "你好,世界!"

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.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string
亲自尝试 »

整数格式化动词

以下动词可与整数数据类型一起使用:

动词 描述
%b 基础 2
%日 十进制
%+d 以 10 为基数并始终显示符号
%o 基数 8
氧含量 以 8 为基数,以 0o 为前导
%X 基数 16,小写
%X 16 进制,大写
%#X 以 16 为基数,以 0x 为前导
%4天 用空格填充(宽度 4,右对齐)
%-4d 用空格填充(宽度 4,左对齐)
%04天 用零填充(宽度 4)

例子

软件包 main
导入(“fmt”)

函数main(){
变量 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)
}

结果:

1111
15
+15
17
0o17
f
F
0xf
  15
15
0015
亲自尝试 »

字符串格式化动词

以下动词可与字符串数据类型一起使用:

动词 描述
%s 将值打印为纯字符串
%q 将值打印为双引号字符串
%8秒 将值打印为纯字符串(宽度 8,右对齐)
%-8 秒 将值打印为纯字符串(宽度 8,左对齐)
%X 将值打印为字节值的十六进制转储
% X 将值打印为带空格的十六进制转储

例子

软件包 main
导入(“fmt”)

函数main(){
var txt = “你好”
 
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"
   Hello
Hello
48656c6c6f
48 65 6c 6c 6f
亲自尝试 »

布尔格式化动词

以下动词可与布尔数据类型一起使用:

动词 描述
%吨 布尔运算符的值,格式为真或假(与使用 %v 相同)

例子

软件包 main
导入(“fmt”)

函数main(){
变量 i = true
var j = false

fmt.Printf("%t\n", i)
fmt.Printf("%t\n", j)
}

结果:

true
false
亲自尝试 »

浮点格式化动词

以下动词可与浮点数据类型一起使用:

动词 描述
%e 以“e”为指数的科学计数法
%F 小数点,无指数
%.2f 默认宽度,精度2
%6.2f 宽度 6,精度 2
%G 根据需要指数,仅需要数字

例子

软件包 main
导入(“fmt”)

函数main(){
变量 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+00
3.141000
3.14
  3.14
3.141
亲自尝试 »