Go 转到本地包和模块
我刚刚开始学习GO开发,阅读了很多文章和文档,但是还没有找到具体的答案 有一些问题Go 转到本地包和模块,go,import,package,microservices,Go,Import,Package,Microservices,我刚刚开始学习GO开发,阅读了很多文章和文档,但是还没有找到具体的答案 有一些问题 如何使用本地软件包?使用/。/不起作用,我可以将所有源代码放在vendror/src目录下,但这会使我的项目结构看起来与我想要的不一样 我是否应该始终将包上载到远程存储库中的某个位置?有没有可能把它们放在本地。事件如果我开发一个微服务,微服务本身就是一个完整的应用程序。我不希望我的微服务只有一个文件。我想在几个文件之间分割逻辑 将所有文件保存在一个文件中可以吗 我知道这个问题已经被问过好几次了,但是我还没有找到任
/。/
不起作用,我可以将所有源代码放在vendror/src
目录下,但这会使我的项目结构看起来与我想要的不一样$GOPATH/libPath
语法中有效import“int.microsoft/secret/new/foo”
,那么您的程序包foo的代码必须位于您的计算机上的“$GOPATH/src/int.microsoft/secret/new/foo”下
对于go-build
和(go-install,go-test,…)导入路径没有任何意义:“int.microsoft/secret/new/foo”不是其他字符串,而是“example1/foo”或“github.com/someone/tool7/bar”。这些只是字符串,在这些路径中搜索包。这些包都不是“本地”包“包,它们都只是包
因此,如果您将包“which”的代码放在$GOPATH/src/some/square/path/which下,您必须像导入“some/square/path/which”一样导入它go-get
,它了解一些代码托管站点,如github,并解释“github.com/someone/prjct”的导入路径,可以为您的用户克隆此git repo,方便地将其放在$GOPATH下的正确文件夹中
所以:不,绝对没有必要上传每一段代码。(例如,我的机器上有很多东西都在$GOPATH/src/tmp下)
将代码拆分为a)不同的包和b不同的文件与所有这些无关。只要你觉得方便和合乎逻辑就行非常感谢您如此完整的回答和解释!是否可以使用新的go.mod文件引用PC(而不是git)上的本地模块?假设桌面上有两个不同目录的模块。如何从一个代码中使用另一个?使用go.mod文件,go如何知道该目录的位置?现在我需要将新代码从一个目录推送到Git,并在另一个项目联机时将其同步(
go mod tidy
或go get-u…
)。在go.mod文件中使用replace指令,如replace girhub.com/you/pr=>../../some/where/local
可能重复的