fmt
是Go语言标准库中一个非常重要的包,它提供了各种格式化输出和输入的函数,可以用于格式化字符串、打印日志、输出调试信息等。本文将详细介绍 fmt
包的使用方法和示例。
基本介绍
fmt
包提供了三种类型的函数:
- 格式化输出:
fmt.Printf
、fmt.Sprintf
、fmt.Fprintf
。 - 格式化输入:
fmt.Scan
、fmt.Scanf
、fmt.Scanln
、fmt.Fscan
、fmt.Fscanf
、fmt.Fscanln
。 - 错误输出:
fmt.Errorf
。
这些函数都使用了 C 语言风格的格式化字符串,例如 %d
表示整数,%s
表示字符串,%f
表示浮点数,%v
表示任意类型等等。
格式化输出
fmt.Printf
fmt.Printf
函数可以将格式化字符串输出到控制台。其基本语法如下:
func Printf(format string, a ...interface{}) (n int, err error)
其中,format
参数是格式化字符串,而 a ...interface{}
参数是可变参数,可以传入任意个数和任意类型的参数。例如:
fmt.Printf("%d %sn", 10, "hello")
上述代码将输出 10 hello
。
Printf
函数还支持很多其他的格式化参数,下面列出一些常见的用法:
格式化参数 | 描述 |
---|---|
%v | 以默认格式输出变量的值。 |
% v | 在 %v 的基础上,对结构体类型会输出字段名和值。 |
%#v | 在 %v 的基础上,输出 Go 语言语法格式的值。 |
%T | 输出变量的类型。 |
%t | 输出布尔型变量的值。 |
%d | 输出十进制整数。 |
%b | 输出二进制整数。 |
%o | 输出八进制整数。 |
%x | 输出十六进制整数。 |
%X | 输出十六进制整数,字母为大写。 |
%f | 输出浮点数。 |
%e | 输出科学计数法表示的浮点数。 |
%E | 输出科学计数法表示的浮点数,字母为大写。 |
%s | 输出字符串。 |
%q | 在输出字符串时,将字符串用双引号括起来。 |
%p | 输出指针的十六进制表示。 |