Go 格式化动词

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
看完如果觉得有帮助,欢迎点赞、收藏和关注