2013-03-08 25 views
3

OK Go代碼,圍棋的主要賣點是它易於編輯和美妙的工具鏈的,但作爲一個新手去,我真的失去了存在和無法理解上的文檔點。無法知道如何編譯在多個文件中

我有兩個文件(一個類型定義和方法,稱爲stack.go,一個主程序,稱爲main.go)內的疊玩具例子,都是在我的GOPATH/src/stacker目錄。

  1. 應該如何的每個文件被命名爲?它有什麼重要嗎?至少有一個約定?強制命名?
  2. 應該用什麼包的名字嗎?我明白他們應該使用相同的包名,但哪一個?是stacker
  3. main.go,我應該如何使用import指令導入stack.go

我已經嘗試了多種組合,沒有工作直到現在。

回答

9
  1. 但是您可以隨意命名該文件,只是當心特殊後綴像_test_<arch>_darwin_unix等)。另請注意,以._爲前綴的文件不會被編譯到軟件包中!
  2. 建議您命名的包像文件所在的文件夾,儘管它可能(但令人困惑的)不同的聲明package mypkg
  3. 如果stack.go是在同一文件夾/封裝main.go命名包,你不需要導入。在stack.go中的所有內容已在main.go中可用,因爲它位於相同的包中。

如果stacker應該編譯成可執行文件,則應該使用package main

+4

你應該提到的是,如果'stacker'應該編譯成可執行文件,而不是作爲一個導入包,它是應該是'包main'。 – ANisus 2013-03-08 14:42:20

+0

@ANisus和Erik,謝謝你的回答。現在完美的工作,我開始得到整體的想法。 – Fabien 2013-03-08 14:46:48

+0

@ANisus更新了我的答案。謝謝 – 2013-03-08 23:48:25