共计 1803 个字符,预计需要花费 5 分钟才能阅读完成。
Printf() 函数能够应用多种格式化动词对输入进行格式化。上面是能够与所有数据类型一起应用的一些通用格式化动词:
通用格式化动词:
以下动词实用于所有数据类型:
动词 | 形容 |
---|---|
%v |
以默认格局打印值 |
%#v |
以 Go 语法格局打印值 |
%T |
打印值的类型 |
%% |
打印百分号 |
示例:
package main
import ("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.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string
整数格式化动词
以下动词实用于整数数据类型:
动词 | 形容 |
---|---|
%b |
二进制 |
%d |
十进制 |
%+d |
带符号的十进制 |
%o |
八进制 |
%O |
八进制(带 0o 前缀) |
%x |
十六进制(小写) |
%X |
十六进制(大写) |
%#x |
带 0x 前缀的十六进制 |
%4d |
应用空格填充(宽度 4,右对齐) |
%-4d |
应用空格填充(宽度 4,左对齐) |
%04d |
应用零填充(宽度 4) |
示例:
package main
import ("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)
}
后果:
1111
15
+15
17
0o17
f
F
0xf
15
15
0015
字符串格式化动词
以下动词实用于字符串数据类型:
动词 | 形容 |
---|---|
%s |
一般字符串打印 |
%q |
双引号包裹的字符串打印 |
%8s |
一般字符串打印(宽度 8,右对齐) |
%-8s |
一般字符串打印(宽度 8,左对齐) |
%x |
字节值的十六进制转储 |
% x |
带空格的十六进制转储 |
示例:
package main
import ("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"
Hello
Hello
48656c6c6f
48 65 6c 6c 6f
布尔格式化动词
以下动词实用于布尔数据类型:
动词 | 形容 |
---|---|
%t |
布尔运算符的 true 或 false 格局(与 %v 雷同) |
示例:
package main
import ("fmt")
func main() {
var 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 |
必要时应用指数,仅保留必要的位数 |
示例:
package main
import ("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+00
3.141000
3.14
3.14
3.141
请留神,这个翻译可能不是完满的,因为语言之间的表达方式可能有轻微的差别。
最初
为了不便其余设施和平台的小伙伴观看往期文章,链接奉上:
公众号搜寻 Let us Coding
, 知乎 , 开源中国 ,CSDN, 思否 , 掘金 ,InfoQ, 简书 , 博客园 , 慕课 ,51CTO,helloworld, 腾讯开发者社区 , 阿里开发者社区
看完如果感觉有帮忙,欢送 点赞、珍藏 和关注
正文完