fzp-Blog

PHP

golang fmt.Printf详解

1 month ago · 0 MIN READ
#Golang 

概览: fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. 格式“占位符”衍生自C

占位符:

  • %v 相应值的默认格式。在打印结构体时,“加号”标记(%+v)会添加字段名
  • %T 相应值的类型的Go语法表示

指针:

  • %p 十六进制表示,前缀 0x
  • %#p 不带0x的指针

布尔:

  • %t 单词 true 或 false

整数: %d 十进制表示 %+d 带符号的整型,fmt.Printf("%+d", 255)输出+255 %b 二进制表示 %c 相应Unicode码点所表示的字符 %o 八进制表示 %q 单引号围绕的字符字面值,由Go语法安全地转义 %x 十六进制表示,字母形式为小写 a-f %X 十六进制表示,字母形式为大写 A-F %U Unicode格式:U+1234,等同于 "U+%04X"

浮点数及其复合构成:

  • %f (=%.6f) 6位小数点
  • %e (=%.6e) 6位小数点(科学计数法)
  • %g 用最少的数字来表示
  • %.3g 最多3位数字来表示
  • %.3f 最多3位小数来表示出

字符串:

  • %s 正常输出字符串
  • %q 字符串带双引号,字符串中的引号带转义符
  • %#q 字符串带反引号,如果字符串内有反引号,就用双引号代替
  • %x 将字符串转换为小写的16进制格式
  • %X 将字符串转换为大写的16进制格式
  • % x 带空格的16进制格式

结构体:

  • %v 正常打印。比如:{hello {12345 67890}}
  • %+v 带字段名称。比如:{name:hello phone:{mobile:12345 office:67890}
  • %#v 用Go的语法打印。 比如main.People{name:”hello”, phone:main.Phone{mobile:”12345”, office:”67890”}}

    参考:http://docscn.studygolang.com/pkg/fmt/

···

Fu ZhengPei



Proudly powered by Xinhaonaner · Sign In