建立环境 - $ GOPATH

问题描述:

我定义我的$GOPATH$HOME/go和使用时VIM去,它已经安装了几个二进制文件(使用:GoInstallBinaries)到该文件夹​​。现在结构类似于:

--go/ 
----bin/ 
------ list of binaries 

----pkg/ 
------linux_amd64 
--------- list of other directories 

----src/ 
------github.com 
--------several other directories, similar with ones below 
------golang.org 
------gopg.in 

我很困惑现在在哪里开始我自己的项目在这个结构?假设我想创建自己的项目virtual_tree,根据我的理解,它应该在src下。但是,应该在github.com里面?我的项目应该去哪里?我需要使用pkg/吗?我明白bin/包含该项目的可执行文件。

谢谢!

+2

阅读(遵循)https://golang.org/doc/code.html#Organization。 – Volker

+1

这只是一个简单的问题,我想做一个项目**去获得** - 能够吗?如果是的话,你应该遵循GOPATH中的层次结构。 –

  1. 您应该遵循$GOPATH/src/REPOSITORY_PROVIDER/USERNAME/PROJECT的约定。因此,如果您的virtual_tree项目驻留在github中,那么您应该在$GOPATH/src/github.com/naz/virtual_tree中找到它。

  2. pkg目录包含编译包。在该目录中创建一个描述目标体系结构的子目录,该目录镜像源目录。

了解更多关于:

https://dave.cheney.net/2014/12/01/five-suggestions-for-setting-up-a-go-project

https://www.goinggo.net/2013/07/how-packages-work-in-go-language.html

+0

更像是'$ domain/$ pathname'。如果你使用GitHub,这意味着'$ provider/$ username/$ project',但是这决不是强制的,甚至是“推荐的”。例如我使用自己的域名来处理不遵循这个约定的包。 – Carpetsmoker