golang開發目錄結構

在實際的項目中發現你們的目錄結構都比較凌亂,基本每一個人都有每一個人的風格,一個項目在不斷地變大,一些新的文件或目錄又不斷地被添加進來,從這裏面去找到本身須要的信息的成本愈來愈高,一個統一的通用的目錄結構很是有必要。git

如下內容來自於github上的這個項目(https://github.com/golang-sta...github

/cmd

main函數文件(好比 /cmd/myapp.go)目錄,這個目錄下面,每一個文件在編譯以後都會生成一個可執行的文件。golang

不要把不少的代碼放到這個目錄下面,這裏面的代碼儘量簡單。web

/internal

應用程序的封裝的代碼,某個應用私有的代碼放到 /internal/myapp/ 目錄下,多個應用通用的公共的代碼,放到 /internal/common 之類的目錄。api

/pkg

一些通用的能夠被其餘項目所使用的代碼,放到這個目錄下面app

/vendor

項目依賴的其餘第三方庫,使用 glide 工具來管理依賴ide

/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...
相關文章
相關標籤/搜索