這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
在實際的項目中發現大家的目錄結構都比較淩亂,基本每個人都有每個人的風格,一個項目在不斷地變大,一些新的檔案或目錄又不斷地被添加進來,從這裡面去找到自己需要的資訊的成本越來越高,一個統一的通用的目錄結構非常有必要。
以下內容來自於github上的這個項目(https://github.com/golang-sta...)
/cmd
main函數檔案(比如 /cmd/myapp.go)目錄,這個目錄下面,每個檔案在編譯之後都會產生一個可執行檔檔案。
不要把很多的代碼放到這個目錄下面,這裡面的代碼儘可能簡單。
/internal
應用程式的封裝的代碼,某個應用私人的代碼放到 /internal/myapp/ 目錄下,多個應用通用的公用的代碼,放到 /internal/common 之類的目錄。
/pkg
一些通用的可以被其他項目所使用的代碼,放到這個目錄下面
/vendor
項目依賴的其他第三方庫,使用 glide 工具來管理依賴
/api
協議檔案,Swagger/thrift/protobuf 等
/web
web服務所需要的靜態檔案
/configs
設定檔
/init
服務啟停指令碼
/scripts
其他一些指令碼,編譯、安裝、測試、分析等等
/build
持續整合目錄
雲 (AMI), 容器 (Docker), 作業系統 (deb, rpm, pkg)等的包配置和指令碼放到 /build/package/ 目錄
/deployments
部署相關的設定檔和模板
/test
其他測試目錄,功能測試,效能測試等
/docs
設計文檔
/tools
常用的工具和指令碼,可以引用 /internal 或者 /pkg 裡面的庫
/examples
應用程式或者公用庫使用的一些例子
/assets
其他一些依賴的靜態資源
轉載請註明出處
本文連結:http://hatlonely.github.io/20...