在 Go 模块中,可以通过 go mod tidy 命令去除未使用的包。
go mod tidy 会:
所以运行 go mod tidy 可以清理我们的 Go 模块,删除未使用的依赖。
例如,我们有这样的 go.mod 文件:
module example.com/hello
go 1.16
require (
golang.org/x/text v0.3.3
golang.org/x/net v0.0.0-20201021035429-f5854403a974
)
但在代码中,我们只导入了 golang.org/x/text,未导入 golang.org/x/net。
运行 go mod tidy 后,go.mod 文件会变为:
module example.com/hello
go 1.16
require golang.org/x/text v0.3.3
golang.org/x/net 被删除,因为我们未使用它。
所以 go mod tidy 是一个保持 Go 模块清洁的很好工具。我们应该定期运行它,特别是在:
等情况下。
它可以自动帮我们删除未使用的依赖,防止我们的模块依赖关系变得复杂难以维护。
go mod tidy 会 recursively 遍历我们的代码,检查实际的导入情况,所以可以准确删除真正未使用的模块。