1. 程式人生 > 程式設計 >淺談go build後加檔案和目錄的區別

淺談go build後加檔案和目錄的區別

如下:

go build + xxx.go:生成以xxx命名的可執行檔案

go build + dir / go build . / go build:生成以目錄名命名的可執行檔案

補充:golang學習------golang的目錄管理以及go install,go build的使用

一個優秀的專案離不開良好的程式碼管理,golang通過package提供一些程式碼的管理封裝,那麼我們應該如何來設計我們的程式碼結構呢?

我們假設我們需要完成一個專案,專案的功能如下:

淺談go build後加檔案和目錄的區別

在基於package的目錄思路下,目錄結構如下

淺談go build後加檔案和目錄的區別

在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

淺談go build後加檔案和目錄的區別

在main包中我們就可以這麼使用它

淺談go build後加檔案和目錄的區別

然後這裡再說下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 build後加檔案和目錄的區別

現在輸入 go install /imageServer/main,編譯上述程式。該命令會在main資料夾內搜尋擁有 main 函式的檔案,然後生成一個二進位制檔案到GOPATH/bin中

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。