2016-11-15 86 views
1

我定義我的$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中的層次結構。 –

回答

4
  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