如何在 Go 中重构模块名称?

How do I refactor module name in Go?

我有一个名为 mymodule 的 Go 模块,我想将其重命名为 github.com/hylowaker/awesome-module

使用命令 go mod edit -module github.com/hylowaker/awesome-module 仅更改 go.mod 文件中的模块名称,go 源代码保持不变。我在 GoLand IDE 中尝试了 Refactor 功能,但 GoLand 不允许使用斜杠(/)字符重命名。

所以我不得不从我的源文件中找到每个 import "mymodule/..." 并将其替换为 import "github.com/hylowaker/awesome-module/...

有没有更好的重构方法?

在 GoLand 中只需按 Ctrl+Shift+R 并执行“替换路径”

在整个项目中执行此操作是安全的,因为您只需要更改 go.mod 文件和所有导入子句

此功能在 GoLand 2021.1 版本中引入。

您可以通过在 go.mod 文件中的模块名称上按 Shift+F6 来调用重命名重构。