转到工作区与自定义文件夹结构

时间:2014-11-28 08:16:36

标签: go

我目前正在学习Go,而且我已经了解到Go建议(希望?强制执行?)您为工作区使用特定的文件夹布局:

- my-go-workspace
  - src
  - bin
  - pkg

我完全理解这个原因,我肯定会看到它的优点。所以,基本上,我认为拥有这样的结构是件好事。

我唯一不喜欢的是,它与我的其他项目完全不同。例如,对于我的Node.js项目,有一个文件夹,如:

- projects
  - moduleA
  - moduleB
  - ...

现在,如果我想将Node.js模块和Go包并排放在一个统一的文件夹结构中,我也必须使用Go的方式来获取Node.js(这感觉不对),反之亦然(也感觉不对)。

我想这可能是一个愚蠢的想法,我应该坚持使用Go的建议,并以两种不同的方式组织我的代码(嘿,它的不同语言,为什么要这样做?文件夹布局是一样的吗?),但不知怎的,这对我来说并不干净。

我知道这是一个非常主观和个人的,但我的问题是,如果有任何关于如何解决这个问题的做法?或者我应该忍受它吗?

2 个答案:

答案 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项目。