如何将go代码添加到现有项目中
我是新来的。我们目前正在从我们的整体Django+python web应用程序中剥离一些微服务,我们已经决定在go中至少做一些。问题在于,这些服务的来源应该与主应用程序位于同一个回购协议中。因此,我在~/gloriousmomoolith/thedjangoapp中包含了所有python代码,并在~/gloriousmoolith/services/some service name中分离了服务如何将go代码添加到现有项目中,go,gopath,Go,Gopath,我是新来的。我们目前正在从我们的整体Django+python web应用程序中剥离一些微服务,我们已经决定在go中至少做一些。问题在于,这些服务的来源应该与主应用程序位于同一个回购协议中。因此,我在~/gloriousmomoolith/thedjangoapp中包含了所有python代码,并在~/gloriousmoolith/services/some service name中分离了服务 我可以在~/src下移动~/GloriousMonolith(我将$GOPATH设置为$HOME),
我可以在~/src下移动~/GloriousMonolith(我将$GOPATH设置为$HOME),但每次我引用我创建的go包时,我都必须执行导入gloriousmoolith/services/someservice/somespackage。我想避免这种情况。至少,我希望避免在任何地方使用
gloriousmomomolith
part硬编码。有什么建议吗?您可以将Go源目录添加到项目中。例如:
~/
GloriousMomolith/
thedjangoapp/
src/
services/
someservice/
service.go
将GOPATH
设置为$HOME/gloriousmomomoolith:$HOME
现在可以相对于src
目录导入:
import (
"services/someservice"
)
你能不能把这些包放到别的路径上?如果你不想让它被关联,为什么要把源头放在荣耀的摩门教徒身上?我想让它被关联。但实际的GloriousMomolith名称是任意的,在不同的环境中是不同的。这只是我克隆回购协议的地方。所以我不想在任何地方硬编码。我没有意识到我的$GOPATH中可以有多条路径。谢谢你的建议。我想我将使用services/src/servicename,并将~/gloriousmomoolith/services添加到我的GOPATH中。请记住,虽然在您的
$GOPATH中有多个路径是可能的,但它往往会弄脏东西。$GOPATH
的目的是为您的所有项目提供一个单一的目录,任何许多工具和说明都假定您在该变量中只有一条路径,并且/或者在第一条路径之后无法很好地处理路径(例如,go-get
始终安装到变量中的第一个路径,没有改变该行为的选项)。