您的位置 首页 golang

golang2021数据类型(20)fmt输出输入

我们前面在输出与输入字符串类型,字符类型,整型等都指定了对应的格式化,那么go语言中还有哪些格式化呢?

格式

含义

%%

一个%字面量

%b

一个二进制整数值(基数为2),或者是一个(高级的)用科学计数法表示的指数为2的浮点数

%c

字符型。可以把输入的数字按照ASCII码相应转换为对应的字符

%d

一个十进制数值(基数为10)

%f

以标准记数法表示的浮点数或者复数值

%o

一个以八进制表示的数字(基数为8)

%p

以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示

%q

使用Go语法以及必须时使用转义,以双引号括起来的字符串或者字节切片[]byte,或者是以单引号括起来的数字

%s

字符串。输出字符串中的字符直至字符串中的空字符(字符串以’\0‘结尾,这个’\0’即空字符)

%t

以true或者false输出的布尔值

%T

使用Go语法输出的值的类型

%x

以十六进制表示的整型值(基数为十六),数字a-f使用小写表示

%X

以十六进制表示的整型值(基数为十六),数字A-F使用小写表示

 

大家目前先掌握该表格中,标注红色的内容。在红色内容中,我们没有用到的是%T,作用是输出值的类型,示例如下:

Printf 格式化输出

通用占位符:

v 值的默认格式。

%+v 添加字段名(如结构体)

%#v  相应值的Go语法表示

%T 相应值的类型的Go语法表示

%% 字面上的百分号,并非值的占位符

布尔值:

%t true 或 false

整数值:

%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进行替代(但是不推荐使用)

 

文章来源:智云一二三科技

文章标题:golang2021数据类型(20)fmt输出输入

文章地址:https://www.zhihuclub.com/86364.shtml

关于作者: 智云科技

热门文章

网站地图