返回
fmt.Printf():掌握Go语言输出格式的瑞士军刀
后端
2024-02-11 19:01:32
fmt.Printf() 函数概述
fmt.Printf() 函数的语法格式如下:
func Printf(format string, args ...interface{}) (n int, err error)
其中:
format
:格式化字符串,用于指定输出内容的格式。args
:可变参数列表,用于提供要输出的数据。
fmt.Printf() 函数的功能是将格式化字符串和可变参数列表中的数据结合起来,并按照指定的格式输出到标准输出。
格式化字符串
格式化字符串是 fmt.Printf() 函数的核心,它决定了输出内容的格式。格式化字符串由普通文本和格式说明符组成。
- 普通文本:格式化字符串中不包含任何格式说明符的部分,它将被原样输出。
- 格式说明符:格式化字符串中以百分号(%)开头的一系列字符,用于指定如何格式化相应的可变参数。
格式说明符语法
格式说明符的语法格式如下:
%[标志][最小宽度][精度]类型
其中:
- 标志:用于控制输出内容的格式和对齐方式。
- 最小宽度:指定输出内容的最小宽度,如果实际输出内容的宽度小于最小宽度,则用空格填充。
- 精度:指定输出内容的小数位数或字符串的截断长度。
- 类型:指定要输出的数据的类型。
常用标志
下表列出了常用的标志及其含义:
标志 | 含义 |
---|---|
- |
左对齐 |
+ |
在数字前显示正负号 |
|
在数字前显示空格,正数显示空格,负数显示负号 |
0 |
右对齐,用零填充 |
常用最小宽度和精度
最小宽度和精度可以指定输出内容的宽度和精度。如果未指定最小宽度或精度,则使用默认值。默认的最小宽度为 0,默认的精度为 -1。
- 最小宽度:如果实际输出内容的宽度小于最小宽度,则用空格填充。
- 精度:如果实际输出内容的精度小于精度,则截断输出内容。
常用类型
下表列出了常用的类型及其对应的输出格式:
类型 | 输出格式 |
---|---|
%v |
默认格式,根据数据类型自动选择输出格式 |
%b |
二进制格式 |
%c |
字符格式 |
%d |
十进制格式 |
%f |
浮点数格式 |
%s |
字符串格式 |
示例
以下是一些 fmt.Printf() 函数的示例:
fmt.Printf("Hello, world!\n") // 输出 Hello, world!
fmt.Printf("%d + %d = %d\n", 1, 2, 3) // 输出 1 + 2 = 3
fmt.Printf("%f\n", 3.1415926) // 输出 3.141593
fmt.Printf("%s\n", "Hello, world!") // 输出 Hello, world!
fmt.Printf("%v\n", [1, 2, 3]) // 输出 [1 2 3]
fmt.Printf("%+d\n", -1) // 输出 -1
fmt.Printf("%08d\n", 123) // 输出 00000123
结论
fmt.Printf() 函数是 Go 语言中用于格式化输出的强大函数,它不仅能满足基本的数据输出需求,还能对输出内容进行美化和定制。通过掌握 fmt.Printf() 函数的用法,您可以轻松地格式化输出各种数据,并让您的代码更加清晰易读。