在GOPATH之外拥有Go项目的源代码是一个坏主意
我正在使用Go进行一个新项目,而我们都是Go的新手。我们遵循标准的go目录结构,并将所有代码置于 $ GOPATH / src / github.com / companyname / projectname 这也是git仓库的根 推荐的标准路径布局确实有些奇怪,特别是如果我们正在开发多语言项目,例如基于Go的rest / http后端和html / javascript前端。在这种情况下,我可能希望我的项目结构如下所示: / doc/ src/ server/ main.go module1/ module.go client/ index.html Makefile 但是实际上是否需要将代码放置在GOPATH中? 作为尝试,我创建了一个小程序,其中的源代码在GOPATH之外。我可以轻松地将项目拆分为多个包,因此该main包可以使用引用文件夹中的一个foo包。foo/import "./foo" 据我所知,有两件事使我无法接受: 其他代码无法导入此代码。这不是问题,因为我们正在为公司专门构建服务。 我不能go install用来安装它。这也不是问题。构建管道将安装该工具。 但是,它确实允许构建服务器的工作区不位于GOPATH内 不鼓励这种方法吗?如果是这样,为什么呢? 除了我列出的两个副作用之外,还有其他副作用吗? 请记住,这是公司的私人项目,而不是公开的开源代码。 将实际项目从GOPATH中分离出来似乎很诱人,但是当您处于Shu阶段时,应该小心打破规则