我只是想確認我對Go項目中一個典型項目文件夾結構的理解,它遵循Go tool conventions。go-lang項目文件夾結構約定
如果我正在編寫名爲my-package
的軟件包,該軟件包使用另一個第三方外部軟件包 - other-package
。然後基於約定,這個目錄結構是否正確?
我之所以閱讀文檔後再次問這個是因爲不像其他語言約定,用戶和第三方代碼在同一個頂層文件夾。
我只是想確認我對Go項目中一個典型項目文件夾結構的理解,它遵循Go tool conventions。go-lang項目文件夾結構約定
如果我正在編寫名爲my-package
的軟件包,該軟件包使用另一個第三方外部軟件包 - other-package
。然後基於約定,這個目錄結構是否正確?
我之所以閱讀文檔後再次問這個是因爲不像其他語言約定,用戶和第三方代碼在同一個頂層文件夾。
通過IRC#去堅果
用戶的機器將有一個共同的$GOPATH/src
所有項目。這個$GOPATH/src
可能有多個項目(用戶的,外部的軟件包等)。用戶只需將$GOPATH/src/mypackage
提交到其src回購站。
如果你想爲你的src和第三方軟件包源有不同的目錄,那麼可以在$GOPATH
的前面加上另一條路徑。 go get
將下載第三方包到該路徑。 go-get
將第三個包下載到它在由$GOPATH
指定的路徑數組中找到的第一個路徑。
對於這個話題,Golang和其他語言是如此的不同,我可以說在我和Golang的日子裏很難理解這個話題。我建議你在$ GOPATH/src中擁有所有的工程,並且不要多一個$ GOPATH。
在GOLANG我們要適應它,就像SA http://golang.org/doc/code.html(代碼組織)
就可以了,那麼導入對於你的定製軟件包來說如何?例如你在'/ src/project1'中有你的項目,並且一些幫助程序包在'/ src/project1/helper'下。你必須做'import'project1/myhelper「'?在我看來,如果'project1'關鍵字可以省略(如果這是我們在src'文件夾中的唯一項目,我們將刪除'project1'並移動所有其他文件和文件夾升級)。無論如何我們可以做到這一點(雖然仍然有多個項目)? – veich
密碼我的目錄結構:'''/go/src/github.com/github-account-name/project-name ''' –
是的,只要根目錄是$ GOPATH –