go fmt打印详解

fmt介绍

软件包fmt实现了格式化的I / O,其功能类似于C的printf和scanf。格式’动词’来自C,但更简单。

占位符

通用

占位符说明示例输出
%v相应值的默认格式Printf("%v",person ){zhangsan}
%+v类似%v,但输出结构体时会添加字段名式Printf("%+v",person ){Name:zhangsan}
%#v相应值的Go语法表示Printf("#v",person )main.Person={zhangsan}
%T相应值的类型的Go语法表示Printf("%T",person )main.Person
%%字面上的百分号,并非值的占位符Printf("%%")%

布尔值

布尔占位符说明示例输出
%t单词true或falsePrintf("%t",true)true

整数

占位符说明示例输出
%b二进制表示Printf("%b",5)101
%c该值对应的unicode码值Printf("%c",0x4E2d)
%d十进制表示Printf("%d",0x12)18
%o八进制表示Printf("%o",10)12
%q单引号围绕的字符字面值,由Go语法安全的转译Printf("%q",0x4E2d)‘中’
%x十六进制表示,字母形式为小写a-fPrintf("%x",13)d
%X十六进制表示,字母形式为大写A-FPrintf("%X",13)D
%U表示为Unicode格式:U+1234,等价于"U+%04X"Printf("%U",0x4E2d)U+4E2D

浮点数与复数的两个组分

占位符说明示例输出
%b无小数部分、指数为二的幂的科学计数法,与strconv.FormatFloat的’b’转换格式一致。Printf("%b",10.20)5742089524897382p-49
%e科学计数法,如-1234.456e+78Printf("%e",10.20)1.020000e+01
%E科学计数法,如-1234.456E+78Printf("%E",10.20)1.020000E+01
%f有小数部分但无指数部分,如123.456Printf("%f",10.20)10.200000
%g根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)Printf("%g",10.20)10.2
%G根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)Printf("%G",10.20)(10.2+2i)

字符串和[]byte

占位符说明示例输出
%s输出字符串表示(string类型或[]byte)Printf("%s",[]byte(“Go语言”))Go语言
%q双引号围绕的字符串,由Go语法安全的转译Printf("%q",“Go语言”)“Go语言”
%x十六进制,小写字母,每字节两个字符Printf("%x",“golang”)676f6c616e67
%X十六进制,大写字母,每字节两个字符Printf("%X",“golang”)676F6C616E67

指针

占位符说明示例输出
%P十六进制表示,前缀 0xPrintf("%p",&person)0xc0420341c0

其他

占位符说明示例输出
+总是输出数值的正负号;对%q(%+q)会生成全部是ASCII字符的输出(通过转义)Printf("%+q",“中文”)“\u4e2d\u6587”
-在输出右边填充空白而不是默认的左边(即从默认的右对齐切换为左对齐);
#切换格式:八进制数前加0(%#o)Printf("%#0",46)
十六进制数前加0x(%#x)或0X(%#X)Printf("%#x",46)0x2e
指针去掉前面的0x(%#p);)fmt.Printf("%#p",&person)c0420441b0
对%q(%#q),如果strconv.CanBackquote返回真会输出反引号括起来的未转义字符串;Printf("%#q",‘中’)‘中’
对%U(%#U),如果字符是可打印的,会在输出Unicode格式、空格、单引号括起来的go字面值;Printf("%#U",‘中’)U+4E2D ‘中’
’ ’(空格)为数值中省略的正负号流出空白(% d);Printf("% d",16)16
以十六进制(% x,% X)打印字符串或切片时,在字节之间用空格隔开Printf("% x",“abc”)61 62 63
0使用0而不是空格填充,对于数值类型会把填充的0放在正负号后面

用法详解

Errorf
Fprint
Fprintf
Fprintln
Fscanf
Fscanln
GoStringer
Print
Printf
Println
Sprint
Sprintf
Sprintln
Sscanf
Stringer
package (Formats)
package (Printers)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ghostwritten

口渴,请赏一杯下午茶吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值