golang格式化输出
1 | type WebSite struct { |
普通占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%v | 相应值的默认格式 | fmt.Printf(“site: %v\n”, site) | site: {ren123} |
%#v | 响应值的Go语法表示 | fmt.Printf(“site: %#v\n”, site) | site: main.WebSite{Name:“ren123”} |
%T | 相应值的类型的Go语法表示 | fmt.Printf(“site: %T\n”, site) | site: main.WebSite |
%% | 字面上的百分号,并非值的占位符 | fmt.Printf(“site: %%\n”, site) | site: % |
布尔占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%t | 单词true或false | fmt.Printf(“b: %t\n”, b) | b: true |
整数占位符
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%b | 二进制表示 | fmt.Printf(“%b\n”, 5) | 101 |
%c | 相应Unicode码点所表示的字符 | fmt.Printf(“%c\n”, 0x4E2D) | 中 |
%d | 十进制表示 | fmt.Printf(“%d\n”, 0x12) | 18 |
%o | 八进制表示 | fmt.Printf(“%o\n”, 0x12) | 22 |
%q | 单引号围绕的字符字面值,由Go语法安全的转义 | fmt.Printf(“%q\n”, 0x4E2D) | ‘中’ |
%x | 十六进制表示,字母形式为小写a-f | fmt.Printf(“%x\n”, 13) | d |
%X | 十六进制表示,字母形式为大写A-F | fmt.Printf(“%X\n”, 13) | D |
%U | Unicode格式,U+1234,等于"U+%04X" | fmt.Printf(“%U\n”, 0x4E2D) | U+4E2D |
浮点数和复数的组成部分(实部和虚部)
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%b | 无小数部分的,指数为二的幂的科学计数法,与strconv.FormatFloat的'b' 转换格式一致。例如-12345p-78 |
fmt.Printf(“%b\n”, 10.2) | 5742089524897382p-49 |
%e | 科学计数法,例如-1234.456e+78 | fmt.Printf(“%e\n”, 10.2) | 1.020000e+01 |
%E | 科学计数法,例如-1234.456E+78 | fmt.Printf(“%E\n”, 10.2) | 1.020000E+01 |
%f | 有小数点而无指数,例如123.456 | fmt.Printf(“%f\n”, 10.2)} | 10.200000 |
%g | 根据情况选择%e或%f以产生更紧凑的(无末尾的0)输出 | fmt.Printf(“%g\n”, 10.2) | 10.2 |
%G | 根据情况选择%E或%f以产生更紧凑的(无末尾的0)输出 | fmt.Printf(“%G\n”, 10.2) | 10.2 |
字符串与字节切片
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%s | 输出字符串表示(string类型或[]byte) | fmt.Printf(“%s\n”, []byte(“叫爸爸”)) | 叫爸爸 |
%q | 双引号围绕的字符串,由Go语法安全的转义 | fmt.Printf(“%q\n”, []byte(“叫爸爸”)) | “叫爸爸” |
%x | 十六进制,小写字母,每个字节两个字符 | fmt.Printf(“%x\n”, “golang”) | 676f6c616e67 |
%X | 十六进制,大写字母,每个字节两个字符 | fmt.Printf(“%X\n”, “golang”) | 676F6C616E67 |
指针
占位符 | 说明 | 举例 | 输出 |
---|---|---|---|
%p | 十六进制表示,前缀0x | fmt.Printf(“site: %p\n”, &site) | site: 0x6ae020 |
评论