好久沒寫golang的項目了,前兩天接個臨時需求,需求不難,但要求必須用golang來寫。一時間竟然忘了如何開始,從哪入手了,故在此做個記錄,以備不時之需。
- 環境: MacOS
- IDE:GoLand
-
項目路徑
爲了便於管理和引用其他package,一般放在/{GOPATH}/src
下。在該目錄下,創建一個公司域名的文件夾,在此文件夾下創建項目命名的文件夾,如/{GOPATH}/src/domain.com/project_name/
。 -
項目結構
project_name/
|__bin/
|__build/
|__config/
|__cmd/
| |__service_1/
| |__service_1.go
| |__service_2/
| |__service_2.go
|__docs/
|__Godep/
|__pkg/
| |__lib/
| |__...
| |__...
|__resource/
|__vendor/
- bin/:編譯後的二進制文件
- build/:編譯、構建腳本文件
- config/:配置文件,json/yaml等
- cmd/:所有服務
- cmd/service_1/:某個具體的服務
- cmd/service_1/service_1.go:服務入口
- docs/:文檔
- Godep/:godep自動生成的目錄
- pkg/:主要代碼
- resource/:資源
- vendor/:godep自動生成的目錄
godep
包依賴管理工具,使每個項目的依賴的版本相互獨立。在項目根目錄下執行godep save ./cmd
,自動生成Godep和vendor。
大致,就這些。