您的位置:首页 >Golang fmt格式化输出详解
发布于2026-01-03 阅读(0)
扫一扫,手机访问
fmt包提供格式化输入输出功能,常用函数有Print、Printf、Sprintf等;通过格式化动词如%v、%d、%s控制输出样式,支持宽度、精度设置,并可通过实现Stringer接口自定义类型输出。

Go语言中的fmt包提供了格式化输入输出功能,是日常开发中最常用的工具之一。它类似于C语言的printf,但更加安全和直观。掌握fmt的基本用法,能帮助我们更高效地打印日志、调试程序和处理字符串。
fmt包提供了多个输出函数,根据使用场景选择合适的方法:
Println会自动换行io.Writer写入,如文件或网络连接fmt.Print("Hello")
fmt.Println("World") // 自动换行
fmt.Printf("姓名:%s,年龄:%d\n", "小明", 20)
s := fmt.Sprintf("结果:%v", 100) // s = "结果:100"
格式化动词决定了变量如何被输出,常见的包括:
type User struct {
Name string
Age int
}
u := User{"Alice", 25}
fmt.Printf("%v\n", u) // {Alice 25}
fmt.Printf("%+v\n", u) // {Name:Alice Age:25}
fmt.Printf("%#v\n", u) // main.User{Name:"Alice", Age:25}
fmt.Printf("%T\n", u) // main.User
可以通过设置宽度和精度来控制输出格式,常用于表格或对齐场景:
fmt.Printf("|%8d|\n", 123) // | 123|
fmt.Printf("|%-8d|\n", 123) // |123 |
fmt.Printf("|%08d|\n", 123) // |00000123|
fmt.Printf("%.2f\n", 3.14159) // 3.14
fmt.Printf("%8.2f\n", 3.14159) // 3.14
通过实现fmt.Stringer接口,可以自定义类型的打印格式:
type Status int
const (
Running Status = iota
Stopped
)
func (s Status) String() string {
return map[Status]string{
Running: "运行中",
Stopped: "已停止",
}[s]
}
fmt.Println(Running) // 输出:运行中
当类型实现了String()方法后,fmt在遇到%v等动词时会自动调用该方法。
fmt能让你的输出更清晰、调试更方便。关键是记住常用动词和格式控制方式,实际开发中多尝试即可掌握。 上一篇:悟空搜索历史不见了怎么恢复
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9