fmt.Printf用于格式化输出,支持占位符如%s、%d、%f等,可控制精度与宽度,常用%v和%T调试,实现精准输出。

在Golang中,fmt.Printf 是格式化输出字符串的核心函数,它允许你按照指定的格式将变量打印到标准输出。与 fmt.Print 或 fmt.Println 不同,Printf 支持占位符和类型化输出,适合需要精确控制输出格式的场景。
基本语法
调用方式如下:
fmt.Printf("格式化字符串", 参数列表)
其中“格式化字符串”包含普通字符和占位符,占位符以 % 开头,用于匹配后续参数的值。
立即学习“go语言免费学习笔记(深入)”;
常用占位符
以下是 fmt.Printf 中常用的格式化动词(占位符):
- %s:字符串
- %d:十进制整数
- %f:浮点数
- %t:布尔值
- %v:值的默认格式(通用)
- %T:值的类型
- %q:带双引号的字符串或字符
- %%:输出百分号本身
示例:
fmt.Printf("姓名: %s, 年龄: %d, 身高: %.2f 米\n", "小明", 25, 1.78)// 输出:姓名: 小明, 年龄: 25, 身高: 1.78 米
控制输出精度和宽度
你可以通过在占位符中添加额外指令来控制输出的宽度、精度和对齐方式。
- %8s:右对齐,最小宽度为8
- %-8s:左对齐,最小宽度为8
- %.2f:保留两位小数
- %8.2f:总宽度8,保留两位小数,右对齐
示例:
fmt.Printf("|%10s|%10s|\n", "Name", "Score")fmt.Printf("|%10s|%10.2f|\n", "Alice", 94.6)
// 输出:
// | Name| Score|
// | Alice| 94.60|
使用 %v 和 %T 调试变量
当你不确定变量类型或想快速查看值时,%v 非常有用。%T 可以输出变量的类型。
name := "Lily"age := 30
fmt.Printf("值: %v, 类型: %T\n", name, name)
fmt.Printf("值: %v, 类型: %T\n", age, age)
// 输出:
// 值: Lily, 类型: string
// 值: 30, 类型: int
基本上就这些。掌握这些格式化方法后,你就能灵活控制 Go 中的输出内容。关键是选对占位符,并根据需要调整宽度和精度。










