2015-09-17 144 views
1

我玩golang,並提出了密碼生成工具的工具。最初它打算用作命令行工具。後來我將生成邏輯分離成單獨的包(仍然是相同的github存儲庫),並將主函數留在項目的根目錄中。現在我還想添加一個簡單的Web前端(沒什麼特別),但我不知道如何構建包。項目結構與多個用戶界面

我應該把兩個命令行的輸入點以及網頁UI到自己的包在同一個項目(葉根空)。或者,也許我應該將實際的生成庫移動到根目錄和用戶界面中分開的軟件包中。我猜另一個選擇是在github上的單獨項目中有UI,但它們只會用於這個庫,所以它似乎不是一個好主意。

我記得在一個名爲CMD例如有些項目包見狀,但從來沒有我遇到一個,有多個前端。有沒有一種方法可以做到這一點?

回答

5

我同意,沒有太多點製作單獨的項目/庫,如果他們只打算使用這個庫。我只想爲您正在構建的每個可執行文件提供一個cmd目錄以及一個子目錄。

事情是這樣的:

  • github.com/user/project
    • CMD
      • CMDLINE
        • main.go
      • 網絡
        • main.go

的main.go文件可以使用已分解成你的 「代」 包的功能。

go build生成的可執行文件的名稱將是父目錄的名稱,因此在本示例中爲cmdlineweb(您希望選擇更好的名稱)。

注意:你實際上並沒有一個包cmdlineweb。這些目錄中的文件都將[在他們自己的單獨]包main中。

+0

對我很好。我會繼續前進,並轉向這個結構,看看它的感覺如何。謝謝。 – Makpoc