具有相同名稱的庫和二進位檔案
設計一個也可以用作獨立二進位檔案的庫時,會出現一個常見的挑戰。雖然將程式庫和二進位檔案命名為相同的名稱似乎合乎邏輯,但 Golang 建置系統通常會分配不同的名稱。
一種解決方案是將目錄結構分為庫的 tar 目錄和二進位的 tarbin 目錄。但是,這種方法會創建一個名為 tarbin 的二進位文件,而不是 tar。
更優雅的解決方案是將二進位檔案嵌套在庫目錄中:
src/ tar/ tar.go # tar library tar/ main.go # tar binary
此結構會產生一個名為tar 的二進位文件,並且一個名為tar 的庫。
在GitHub 上下文中,目錄結構變為:
src/ github.com/ you/ tar/ tar.go # tar library tar/ main.go # tar binary
此結構允許輕鬆安裝二進位檔案(go get install github.com/you/tar/tar)和庫(go get install github.com/you/tar)。
根據所需的重要性,函式庫和二進位檔案可以在目錄結構內交換。此外,將所有程式碼保存在單一樹中可以輕鬆建置和測試:
go install ./... go test|fmt ./...
以上是如何建構同名的 Go 函式庫和二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!