如何将 go 代码添加到现有项目中

How to add go code into an existing project

我还很陌生。我们目前正在从我们的整体 Django+python 网络应用程序中分离出一些微服务,我们已经决定至少在 go 中完成其中的一些。问题是服务的来源应该与主应用程序位于同一个仓库中。所以我在 ~/GloriousMomolith/thedjangoapp 中拥有所有 python 代码,并在 ~/GloriousMomolith/services/some-service-name.

中拆分服务

我可以将 ~/GloriousMonolith 移动到 ~/src 下(我将 $GOPATH 设置为 $HOME),但是每次我引用我创建的 go 包时我都必须做 import GloriousMomolith/services/someservice/somepackage。我想避免这种情况。至少,我想避免在任何地方对 GloriousMomolith 部分进行硬编码。有什么建议吗?

您可以将 Go 源目录添加到您的项目中。例如:

~/
   GloriousMomolith/
      thedjangoapp/
      src/
         services/
            someservice/
               service.go

GOPATH 设置为 $HOME/GloriousMomolith:$HOME

您现在可以相对于 src 目录导入:

import (
   "services/someservice"
)