一個優秀的項目離不開良好的代碼管理,golang通過package提供一些代碼的管理封裝,那麼我們應該如何來設計我們的代碼結構呢?
我們假設我們需要完成一個項目,項目的功能如下:
在基於package的目錄思路下,目錄結構如下
在main文件夾中實現package main,方便用戶進行調用
在test文件夾中就可以通過
import "ImageServer/imageFun/basicFun" 測試圖像相關的基本功能
import "ImageServer/imageFun/coreFun" 測試圖像相關的核心功能
import "ImageServer/network/concurrentPro" 測試網絡的併發功能
import "ImageServer/imageFun/database" 測試數據庫功能
在一個文件夾下,所有的.go文件應該都以文件夾名爲包名,比如ImageServer/imageFun/basicFun中的basicFun.go
在main包中我們就可以這麼使用它
然後這裏再說下go install和go build,go build直接編譯生成二進制文件在當前目錄下
與build命令相比,install命令在編譯源碼後還會將可執行文件或庫文件安裝到約定的目錄下。
-
go install編譯出的可執行文件以其所在目錄名(DIR)命名
-
go install將可執行文件安裝到與src同級別的bin目錄下,bin目錄由go install自動創建
-
go install將可執行文件依賴的各種package編譯後,放在與src同級別的pkg目錄下
在使用go install編譯二進制文件到GOPATH/bin目錄下時,需要注意要配置環境變量GOBIN
現在輸入 go install /imageServer/main,編譯上述程序。該命令會在main文件夾內搜索擁有 main 函數的文件,然後生成一個二進制文件到GOPATH/bin中