go 语言中的占位符详解
在 Go 语言的 fmt 包中,占位符用于格式化输出,允许在输出时插入变量的值。以下是一些常用的占位符及其用法:
-
通用占位符:
%v:按照值的默认格式输出。%+v:输出结构体时,会添加字段名。%#v:输出 Go 语法表示的值。%T:输出变量的类型。%%:输出百分号。
-
布尔值占位符:
%t:格式化布尔值。
-
整数占位符:
%b:以二进制形式输出。%c:输出字符。%d:以十进制形式输出。%o:以八进制形式输出。%x:以十六进制形式输出,字母小写。%X:以十六进制形式输出,字母大写。%U:Unicode 格式输出。
-
浮点数占位符:
%e:科学计数法,小写 "e"。%E:科学计数法,大写 "E"。%f:标准计数法。%g:根据实际情况选择%e或%f。%G:根据实际情况选择%E或%f.
-
字符串和字节切片占位符:
%s:输出字符串。%q:输出带双引号的字符串。%x:以十六进制形式输出字符串。%p:以十六进制形式输出指针。
-
指针占位符:
%p:输出指针地址。
-
宽度和精度:
占位符可以使用数字来控制宽度和精度,如
%5.2f表示总宽度为 5,小数点后保留 2 位。
下面是一个使用占位符的示例:
package main
import "fmt"
func main() {
name := "Alice"
age := 30
height := 175.5
fmt.Printf("Name: %s, Age: %d, Height: %.2f\n", name, age, height)
// Output: Name: Alice, Age: 30, Height: 175.50
}
请注意,Go 中的占位符与 C 语言中的 printf 函数使用的占位符类似,但有一些细微的差异,所以在使用时需要注意一些区别。要了解更多占位符和用法,可以查阅官方文档:fmt 包文档。