Go 格式化动词

打印 上一主题 下一主题

主题 895|帖子 895|积分 2685

Printf() 函数可以使用多种格式化动词对输出进行格式化。下面是可以与所有数据类型一起使用的一些通用格式化动词:
通用格式化动词:
以下动词适用于所有数据类型:
动词描述%v以默认格式打印值%#v以 Go 语法格式打印值%T打印值的类型%%打印百分号示例:
  1. package main
  2. import (
  3.   "fmt"
  4. )
  5. func main() {
  6.   var i = 15.5
  7.   var txt = "Hello World!"
  8.   fmt.Printf("%v\n", i)
  9.   fmt.Printf("%#v\n", i)
  10.   fmt.Printf("%v%%\n", i)
  11.   fmt.Printf("%T\n", i)
  12.   fmt.Printf("%v\n", txt)
  13.   fmt.Printf("%#v\n", txt)
  14.   fmt.Printf("%T\n", txt)
  15. }
复制代码
结果:
  1. 15.5
  2. 15.5
  3. 15.5%
  4. float64
  5. Hello World!
  6. "Hello World!"
  7. string
复制代码
整数格式化动词

以下动词适用于整数数据类型:
动词描述%b二进制%d十进制%+d带符号的十进制%o八进制%O八进制(带 0o 前缀)%x十六进制(小写)%X十六进制(大写)%#x带 0x 前缀的十六进制%4d使用空格填充(宽度 4,右对齐)%-4d使用空格填充(宽度 4,左对齐)%04d使用零填充(宽度 4)示例:
  1. package main
  2. import (
  3.   "fmt"
  4. )
  5. func main() {
  6.   var i = 15
  7.   fmt.Printf("%b\n", i)
  8.   fmt.Printf("%d\n", i)
  9.   fmt.Printf("%+d\n", i)
  10.   fmt.Printf("%o\n", i)
  11.   fmt.Printf("%O\n", i)
  12.   fmt.Printf("%x\n", i)
  13.   fmt.Printf("%X\n", i)
  14.   fmt.Printf("%#x\n", i)
  15.   fmt.Printf("%4d\n", i)
  16.   fmt.Printf("%-4d\n", i)
  17.   fmt.Printf("%04d\n", i)
  18. }
复制代码
结果:
  1. 1111
  2. 15
  3. +15
  4. 17
  5. 0o17
  6. f
  7. F
  8. 0xf
  9.   15
  10. 15
  11. 0015
复制代码
字符串格式化动词

以下动词适用于字符串数据类型:
动词描述%s普通字符串打印%q双引号包裹的字符串打印%8s普通字符串打印(宽度 8,右对齐)%-8s普通字符串打印(宽度 8,左对齐)%x字节值的十六进制转储% x带空格的十六进制转储示例:
  1. package main
  2. import (
  3.   "fmt"
  4. )
  5. func main() {
  6.   var txt = "Hello"
  7.   fmt.Printf("%s\n", txt)
  8.   fmt.Printf("%q\n", txt)
  9.   fmt.Printf("%8s\n", txt)
  10.   fmt.Printf("%-8s\n", txt)
  11.   fmt.Printf("%x\n", txt)
  12.   fmt.Printf("% x\n", txt)
  13. }
复制代码
结果:
  1. Hello
  2. "Hello"
  3.    Hello
  4. Hello
  5. 48656c6c6f
  6. 48 65 6c 6c 6f
复制代码
布尔格式化动词

以下动词适用于布尔数据类型:
动词描述%t布尔运算符的 true 或 false 格式(与 %v 相同)示例:
  1. package main
  2. import (
  3.   "fmt"
  4. )
  5. func main() {
  6.   var i = true
  7.   var j = false
  8.   fmt.Printf("%t\n", i)
  9.   fmt.Printf("%t\n", j)
  10. }
复制代码
结果:
  1. true
  2. false
复制代码
浮点数格式化动词

以下动词适用于浮点数数据类型:
动词描述%e科学计数法,指数为 'e'%f小数点,无指数部分%.2f默认宽度,精度为 2%6.2f宽度 6,精度 2%g必要时使用指数,仅保留必要的位数示例:
  1. package main
  2. import (
  3.   "fmt"
  4. )
  5. func main() {
  6.   var i = 3.141
  7.   fmt.Printf("%e\n", i)
  8.   fmt.Printf("%f\n", i)
  9.   fmt.Printf("%.2f\n", i)
  10.   fmt.Printf("%6.2f\n", i)
  11.   fmt.Printf("%g\n", i)
  12. }
复制代码
结果:
  1. 3.141000e+00
  2. 3.141000
  3. 3.14
  4.   3.14
  5. 3.141
复制代码
请注意,这个翻译可能不是完美的,因为语言之间的表达方式可能有细微的差异。
最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:
公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

兜兜零元

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表