返回

fmt.Printf():掌握Go语言输出格式的瑞士军刀

后端

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() 函数的用法,您可以轻松地格式化输出各种数据,并让您的代码更加清晰易读。