golang 項目結構

好久沒寫golang的項目了,前兩天接個臨時需求,需求不難,但要求必須用golang來寫。一時間竟然忘了如何開始,從哪入手了,故在此做個記錄,以備不時之需。

  • 環境: MacOS
  • IDE:GoLand
  1. 項目路徑
    爲了便於管理和引用其他package,一般放在 /{GOPATH}/src 下。在該目錄下,創建一個公司域名的文件夾,在此文件夾下創建項目命名的文件夾,如/{GOPATH}/src/domain.com/project_name/

  2. 項目結構

  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自動生成的目錄
  1. godep
    包依賴管理工具,使每個項目的依賴的版本相互獨立。在項目根目錄下執行godep save ./cmd,自動生成Godep和vendor。

大致,就這些。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章