(Go)15.golang printf 格式化输出

Posted lvcisco

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(Go)15.golang printf 格式化输出相关的知识,希望对你有一定的参考价值。

Printf 格式化输出
通用占位符:
v 值的默认格式。
%+v 添加字段名(如结构体)
%#v  相应值的Go语法表示
%T 相应值的类型的Go语法表示
%% 字面上的百分号,并非值的占位符 
布尔值:
%t truefalse
整数值:
%b 二进制表示
%c 相应Unicode码点所表示的字符
%d 十进制表示
%o 八进制表示
%q 单引号围绕的字符字面值,由Go语法安全地转义
%x 十六进制表示,字母形式为小写 a-f
%X 十六进制表示,字母形式为大写 A-F
%U Unicode格式:U+1234,等同于 "U+%04X"
浮点数及复数:
%b 无小数部分的,指数为二的幂的科学计数法,与 strconv.FormatFloat中的 b 转换格式一致。例如 -123456p-78
%e 科学计数法,例如 -1234.456e+78
%E 科学计数法,例如 -1234.456E+78
%f 有小数点而无指数,例如 123.456
%g 根据情况选择 %e 或 %f 以产生更紧凑的(无末尾的0)输出
%G 根据情况选择 %E 或 %f 以产生更紧凑的(无末尾的0)输出
字符串和bytes的slice表示:
%s 字符串或切片的无解译字节
%q 双引号围绕的字符串,由Go语法安全地转义
%x 十六进制,小写字母,每字节两个字符
%X 十六进制,大写字母,每字节两个字符
指针:
%p 十六进制表示,前缀 0x
这里没有 u 标记。若整数为无符号类型,他们就会被打印成无符号的。类似地,这里也不需要指定操作数的大小(int8,int64)。

对于%v来说默认的格式是:
bool: %t
int, int8 etc.: %d
uint, uint8 etc.: %d, %x if printed with %#v
float32, complex64, etc: %g
string: %s
chan: %p
pointer: %p
由此可以看出,默认的输出格式可以使用%v进行指定,除非输出其他与默认不同的格式,否则都可以使用%v进行替代(但是不推荐使用)

 

以上是关于(Go)15.golang printf 格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

c语言中printf格式怎么设置

Go_15:GoLang中面向对象的三大特性

Go输入输出格式化Printf

Go Example--格式化字符串

Go格式化输出

江哥带你玩转C语言 | 05-printf 和 scanf 函数