本文最后更新于 314 天前 ,文中信息可能已经过时。如有问题请在评论区留言。
fmt
Go 语言标准库中 fmt
包用于格式化 I/O。它提供了一系列函数来格式化输出到控制台或其他输出流,并支持格式化字符串、错误输出、调试信息等。
常用函数
fmt.Println()
作用:打印一行文本并自动换行。
go
|
|
fmt.Printf()
作用:根据格式字符串打印格式化文本。
go
|
|
更多格式化 verbs 参考 附录:verbs
fmt.Sprintf()
作用:根据格式字符串返回格式化后的字符串,而不是直接打印出来。
go
|
|
fmt.Errorf()
作用:用于生成错误信息。
go
|
|
参考资料
- fmt - Go 语言标准库
- 《The Go Programming Language》
附录:verbs
包 fmt
实现了格式化的 I/O,其中的函数类似于 C 语言中的 printf
和 scanf
。格式化的 verbs
源自 C 语言,但更简单。
General
%v
:默认格式中的值。(即变量的自然形式,各类型的默认格式可参考 附录:%v 的默认格式) 当打印结构体时,使用加号标志(%+v
)会添加字段名。%#v
:值的 Go 语法表示形式%T
:值的类型的 Go 语法表示形式%%
:字面上的百分号
Boolean
%t
:单词true
或false
Integer
%b
:二进制%c
:字符(rune)(Unicode 码点)%d
:十进制%o
:八进制%O
:带有0o
前缀的八进制%q
:安全转义的单引号字符文字,采用 Go 语法%x
:十六进制,小写字母a-f
%X
:十六进制,大写字母A-F
%U
:Unicode 格式:U+1234
;与U+%04X
相同
Floating-point and complex constituents
%b
:指数为二的幂的无小数科学记数法,类似于带有 ‘b’ 格式的strconv.FormatFloat
,例如,-123456p-78
%e
:科学记数法,例如,-1.234456e+78
%E
:科学记数法,例如,-1.234456E+78
%f
:小数点但没有指数,例如,123.456
%F
:%f
的同义词%g
:大指数使用%e
,否则使用%f
%G
:大指数使用%E
,否则使用%F
%x
:十六进制表示法(具有二的幂的十进制指数),例如,-0x1.23abcp+20
%X
:大写十六进制表示法,例如,-0X1.23ABCP+20
String and slice of bytes(treated equivalently with these verbs)
%s
:字符串%q
:安全转义的双引号字符串,采用 Go 语法%x
:十六进制,小写,每个字节两个字符%X
:十六进制,大写,每个字节两个字符
Slice
%p
:以十六进制表示的第 0 个元素的地址,带有0x
前缀
Pointer
%p
:以十六进制表示,带有0x
前缀
对于复合对象,元素将按照以下规则递归地打印:
text
|
|
附录:%v
的默认格式
类型 | 默认格式 |
---|---|
bool | %t |
int 、int8 等 | %d |
uint 、uint8 等 | %d ,如果与 %#v 一起打印,则为 %#x |
float32 、complex64 等 | %g |
string | %s |
chan | %p |
pointer | %p |
感谢您的耐心阅读!来选个表情,或者留个评论吧!