Go命令行—fix

fix 能找出使用旧标准库API的go代码,并重写它们以使用新的API版本。在更新到新的Go版本之后,修复程序有助于对程序进行必要的更改。

go tool fix [-r name,...] [path ...]

没有明确的路径,fix 会读取标准输入并将结果写入标准输出。

如果指定的路径是一个文件,fix 重写指定的文件。如果指定的路径是一个目录,fix 将重写该目录树中的所有.go文件。当 fix 重写一个文件时,它会打印一行日志到标准错误,给出文件的名称和重写内容。

如果设置了-diff标志,则不会重写文件。而是打印将引入的差异。

-r标志将重新设置的集合限制为指定列表。默认情况下,fix 考虑重写所有已知的不同。修复程序的重写是幂等的,因此即使不使用-r标志,也可以将 fix 应用于已更新或部分更新的代码。

fix 会打印可以修复的完整列表;看到他们,运行 go tool fix -help。

fix 不会为其编辑的文件创建备份副本。请自行使用版本控制系统的 diff 功能来检查提交之前所做的更改。