gofmt 是 Go 语言官方强制统一代码风格的标准工具,无需安装,通过 gofmt -version 验证可用性;常用命令包括 gofmt -w ./... 递归格式化、-s 启用简化模式;VS Code 和 Goland 均支持保存时自动格式化。

Go 语言自带的 gofmt 工具无需额外安装,只要 Go 环境配置正确,它就已可用。它的作用不是“可选美化”,而是 Go 社区统一代码风格的强制标准——几乎所有 Go 项目都默认使用 gofmt 格式化,IDE 和编辑器也普遍集成它。
确认 gofmt 是否可用
在终端中运行:
gofmt -version
若输出版本号(如 gofmt v0.1.0),说明已就绪。如果提示命令未找到,请检查 $GOROOT/bin 是否已加入系统 PATH(通常随 Go 安装自动配置)。
立即学习“go语言免费学习笔记(深入)”;
基础用法:命令行格式化单个文件或目录
gofmt 默认只输出格式化后的内容,不直接改写源文件。常用组合如下:
-
gofmt main.go—— 打印格式化后的内容到终端 -
gofmt -w main.go—— 加-w参数才真正写回原文件 -
gofmt -w ./...—— 递归格式化当前模块下所有.go文件(推荐日常使用) -
gofmt -s main.go—— 启用简化模式(如将a := make([]int, 0)简化为a := []int{})
在 VS Code 中自动保存时格式化
VS Code + Go 扩展(由 Go 团队维护)默认启用 gofmt。确保设置中开启:
注意:新版 Go 扩展默认使用 gopls(Go Language Server),其内置格式化行为与 gofmt 兼容,但更智能。你仍可通过以下方式显式指定:
- 打开设置(
Ctrl+,或Cmd+,),搜索format tool - 将
Go: Format Tool设为gofmt(或保持默认gopls,效果一致) - 勾选
Editor: Format On Save,保存即自动格式化
在 Goland / IntelliJ 中配置 gofmt
Goland 默认使用 gofmt,但可手动确认:
- 进入
Settings > Languages & Frameworks > Go > Formatting - 确保
Use gofmt被勾选 - 勾选
Reformat on save即可实现保存即格式化 - 如需每次保存都运行,还可勾选
Optimize imports on the fly(自动整理 import)
基本上就这些。不需要复杂配置,也不建议替换为其他格式化工具——gofmt 是 Go 生态的事实标准,坚持用它,协作更顺畅,代码更“Go”。










