Go语言如何用fmt打印_Go语言fmt格式化输出教程【通俗】

张开发
2026/4/6 19:48:28 15 分钟阅读

分享文章

Go语言如何用fmt打印_Go语言fmt格式化输出教程【通俗】
用 fmt.Printf 配合格式动词如 %s、%d、%v是最常用也最可控的方式别依赖 fmt.Println 自动换行加空格的“省事”逻辑——它在调试和日志里反而容易掩盖结构问题。直接说结论用 fmt.Printf 配合格式动词如 %s、%d、%v是最常用也最可控的方式别依赖 fmt.Println 自动换行加空格的“省事”逻辑——它在调试和日志里反而容易掩盖结构问题。为什么 fmt.Printf 比 fmt.Println 更值得优先掌握因为 fmt.Println 会自动在参数间加空格、末尾加换行看似简单但一旦你要输出 JSON 片段、带对齐的表格、或嵌入到日志行中就会立刻失控。而 fmt.Printf 完全由你控制格式、分隔、换行时机。fmt.Println(a, 123) → 输出 a 123 中间空格不可删fmt.Printf(a%d, 123) → 输出 a123无空格无换行调试时想看变量名值fmt.Printf(name%q, age%d , name, age) 比拼字符串更安全、更不易出错%v、%v 和 %#v 的实际区别在哪这三个都用于“通用打印”但行为差异直接影响调试效率%v默认值格式结构体只打字段值不带字段名 —— {123 foo}%v带字段名适合快速确认结构体内容是否符合预期 —— {ID:123 Name:foo}%#vGo 语法风格输出能直接复制粘贴进代码当字面量用 —— main.User{ID:123, Name:foo}注意%#v 对 nil 切片/映射会输出 nil而 %v 可能只输出空括号容易误判打印错误时为什么别用 %s 直接转 err.Error()因为 error 接口本身可能包含结构化信息比如 os.PathError直接调 .Error() 会丢失底层类型和上下文而 fmt 系列函数对 error 类型有特殊处理逻辑。 唱鸭 音乐创作全流程的AI自动作曲工具集 AI 辅助作词、AI 自动作曲、编曲、混音于一体

更多文章