2

在 Go 中,工作区包含 src、pkg 和 bin 目录。如何在工作区中创建多个项目,每个项目都有自己的 src、pkg、bin 目录,以便我可以将包“获取”到特定项目的 pkg 目录中。

4

3 回答 3

2

你可能不需要那个。让我们也忘记“工作区”这个词,它可能只会让你感到困惑。

如果您设置了 GOPATH 环境变量,那么您实际上只需要让多个项目独立地位于您的硬盘上。

例如,拥有export GOPATH="$HOME"和执行

$ go get github.com/foo/bar
$ go get github.com/baz/qux

您的目录树将是

$GOPATH/pkg...
        compiled packages
$GOPATH/src/github.com/foo/bar
        bar.go
$GOPATH/src/github.com/baz/qux
        qux.go

更多细节在这里。请注意,它确实谈到了工作空间,但我仍然认为这个事实非常不幸。该文档的早期版本没有使用也没有定义这个概念,无论如何它们都是有用的。这是 IMO 证明它(工作空间)是多余的。

于 2013-09-05T13:35:35.703 回答
0

如果你真的想要几个“工作区”:在 GOPATH 中有几个条目(在 unix 上用“:”分隔)。(但大多数只是将所有内容保存在一个 GOPATH 下)。

请记住,go get将包获取到您的第一个 GOPATH 条目中。

其他条目可以用作“单独的工作区”。

于 2013-09-05T13:39:09.783 回答
0

go get不打算以这种方式使用。

所有包都按照这里的描述go get登陆:http: //golang.org/doc/code.html#remote并且没有单独工作区的概念。$GOPATH/*

于 2013-09-05T13:36:59.693 回答