如下:
go build + xxx.go:生成以xxx命名的可執(zhí)行文件
go build + dir / go build . / go build:生成以目錄名命名的可執(zhí)行文件
補(bǔ)充:golang學(xué)習(xí)------golang的目錄管理以及go install,go build的使用
一個(gè)優(yōu)秀的項(xiàng)目離不開(kāi)良好的代碼管理,golang通過(guò)package提供一些代碼的管理封裝,那么我們應(yīng)該如何來(lái)設(shè)計(jì)我們的代碼結(jié)構(gòu)呢?
我們假設(shè)我們需要完成一個(gè)項(xiàng)目,項(xiàng)目的功能如下:

在基于package的目錄思路下,目錄結(jié)構(gòu)如下

在main文件夾中實(shí)現(xiàn)package main,方便用戶進(jìn)行調(diào)用
在test文件夾中就可以通過(guò)
import "ImageServer/imageFun/basicFun" 測(cè)試圖像相關(guān)的基本功能
import "ImageServer/imageFun/coreFun" 測(cè)試圖像相關(guān)的核心功能
import "ImageServer/network/concurrentPro" 測(cè)試網(wǎng)絡(luò)的并發(fā)功能
import "ImageServer/imageFun/database" 測(cè)試數(shù)據(jù)庫(kù)功能
在一個(gè)文件夾下,所有的.go文件應(yīng)該都以文件夾名為包名,比如ImageServer/imageFun/basicFun中的basicFun.go

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

然后這里再說(shuō)下go install和go build,go build直接編譯生成二進(jìn)制文件在當(dāng)前目錄下
與build命令相比,install命令在編譯源碼后還會(huì)將可執(zhí)行文件或庫(kù)文件安裝到約定的目錄下。
go install編譯出的可執(zhí)行文件以其所在目錄名(DIR)命名
go install將可執(zhí)行文件安裝到與src同級(jí)別的bin目錄下,bin目錄由go install自動(dòng)創(chuàng)建
go install將可執(zhí)行文件依賴的各種package編譯后,放在與src同級(jí)別的pkg目錄下
在使用go install編譯二進(jìn)制文件到GOPATH/bin目錄下時(shí),需要注意要配置環(huán)境變量GOBIN

現(xiàn)在輸入 go install /imageServer/main,編譯上述程序。該命令會(huì)在main文件夾內(nèi)搜索擁有 main 函數(shù)的文件,然后生成一個(gè)二進(jìn)制文件到GOPATH/bin中
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- go build 通過(guò)文件名后綴實(shí)現(xiàn)不同平臺(tái)的條件編譯操作
- go build和go install的區(qū)別介紹
- go install/build生成的文件命名和路徑操作
- 解決go build不去vendor下查找包的問(wèn)題