格式化动词

收藏224

阅读2680

更新时间2025-08-13

Printf() 的格式化动词

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

浮点格式化动词

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

动词 描述
%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

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号