这些是死知识,把常用的记住,不常用的直接查表就行了

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。

定义示例类型和变量

type Human struct {
Name string
}
var people = Human{Name:"zhangsan"}

1)普通占位符

image.png

2)布尔占位符

image.png

3)整数占位符


image.png

4)浮点数和复数的组成部分(实部和虚部)

image.png

5)字符串与字节切片

image.png


6)指针

image.png

7)其它标记

image.png

8)其他

golang没有 '%u' 点位符,若整数为无符号类型,默认就会被打印成无符号的。

宽度与精度的控制格式以Unicode码点为单位。宽度为该数值占用区域的最小宽度;精度为小数点之后的位数。
操作数的类型为int时,宽度与精度都可用字符 '*' 表示。

对于 %g/%G 而言,精度为所有数字的总数,例如:123.45,%.4g 会打印123.5,(而 %6.2f 会打印123.45)。

%e 和 %f 的默认精度为6

对大多数的数值类型而言,宽度为输出的最小字符数,如果必要的话会为已格式化的形式填充空格。

而以字符串类型,精度为输出的最大字符数,如果必要的话会直接截断。

使用起来很简单,一般配合fmt.Printf()使用,因为fmt的Printf()是有格式的输出,切忌使用Println(),否则将会以字符串的形式输出。