這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
整體結構
首先我們要知道,項目結構往往指的是gopath。類似我們java中的classpath。gopath包含三塊內容:src、bin、package,那麼他們都是用來幹什麼的呢?
- src存放的是我們的源碼,即我們編寫的go語言程式
- bin存放的是編譯後的可執行檔
- package存放的是編譯後產生的檔案
src下的結構
src下我們可以建立多重專案
--src --app1 --a --b --c --main.go --app2 --main.go --app3....
執行個體
在src下分別建立a,b,c,d四個檔案夾
其中a檔案夾下建立檔案夾a1,a2
a1下建立a_sub檔案夾,同時建立subA.go
package a_subimport ("fmt")func SubAMethod() {fmt.Println("a_sub/SubAMethod")}
a1和a2下分別建立a1.go和a2.go
package a1import ("a/a1/a_sub""fmt")func PrintA1() { fmt.Println("a/a1")}package a2import "fmt"func PrintA2() { fmt.Println("a/a2")}
b檔案夾下建立b1.go和b2.go
package bimport "fmt"func printB1() { fmt.Println("b.b1")}package bimport "fmt"func PrintB() { printB1() fmt.Println("b.b2")}
c檔案夾下建立c.go
package mainimport ( "a/a1" "a/a2" "b")func main() { a1.PrintA1() a2.PrintA2() b.PrintB()}
d檔案夾下建立d.go
package mainimport ( "fmt")func main() { fmt.Println("Hello world")}
最終檔案目錄結構如下
多個gopath目錄
另外我們可以配置多個gopath目錄,在每個gopath目錄下的src下分別建立自己的項目,這樣就不會這麼多項目耦合在一起了。多個gopath目錄之間用;(windows)或:(linux)分割開來。
參考:http://www.cnblogs.com/auh2010006/p/6343231.html