我目前正在学习Go,而且我已经了解到Go建议(希望?强制执行?)您为工作区使用特定的文件夹布局:
- my-go-workspace
- src
- bin
- pkg
我完全理解这个原因,我肯定会看到它的优点。所以,基本上,我认为拥有这样的结构是件好事。
我唯一不喜欢的是,它与我的其他项目完全不同。例如,对于我的Node.js项目,有一个文件夹,如:
- projects
- moduleA
- moduleB
- ...
现在,如果我想将Node.js模块和Go包并排放在一个统一的文件夹结构中,我也必须使用Go的方式来获取Node.js(这感觉不对),反之亦然(也感觉不对)。
我想这可能是一个愚蠢的想法,我应该坚持使用Go的建议,并以两种不同的方式组织我的代码(嘿,它的不同语言,为什么要这样做?文件夹布局是一样的吗?),但不知怎的,这对我来说并不干净。
我知道这是一个非常主观和个人的,但我的问题是,如果有任何关于如何解决这个问题的做法?或者我应该忍受它吗?
答案 0 :(得分:4)
一个更简单的想法:
golos-projects
L node-project-a
L what
L ever
L yolo
L node-project-b
L we
L love
L npm
L go-project-a
L src
L pkg
L bin
L go-project-b
L src
L pkg
L bin
只需将GOPATH
设置为例如golos-projects/go-project-b
然后劈开。如果要切换到另一个项目,只需将GOPATH
更改为新项目的文件夹即可。
答案 1 :(得分:3)
只要$GOPATH
引用符合约定的workspace,就可以拥有所需的结构
my-go-workspace
- src
- bin
- pkg
在您的情况下,src/
可能只是projects/
(位于其他任何地方)的符号链接,您将在其中拥有Node和Go项目。