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

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

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

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

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

現(xiàn)在輸入 go install /imageServer/main,編譯上述程序。該命令會在main文件夾內(nèi)搜索擁有 main 函數(shù)的文件,然后生成一個二進(jìn)制文件到GOPATH/bin中
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Golang的Crypto/SHA256庫實(shí)戰(zhàn)指南
無論是在保護(hù)數(shù)據(jù)安全、驗(yàn)證數(shù)據(jù)完整性,還是在構(gòu)建復(fù)雜的安全系統(tǒng)中,crypto/sha256都是Golang程序員不可或缺的工具,本文主要介紹了Golang的Crypto/SHA256庫實(shí)戰(zhàn)指南,感興趣的可以了解一下2024-02-02
Gin+Gorm實(shí)現(xiàn)增刪改查的示例代碼
本文介紹了如何使用Gin和Gorm框架實(shí)現(xiàn)一個簡單的增刪改查(CRUD)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
Go中的關(guān)鍵字any interface是否會成為歷史
這篇文章主要為大家介紹了Go中的關(guān)鍵字any interface是否會成為歷史的講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
go實(shí)現(xiàn)圖片拼接與文字書寫的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于go實(shí)現(xiàn)圖片拼接與文字書寫的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
Go語言error的設(shè)計(jì)理念及背景演化詳解
這篇文章主要為大家介紹了Go語言error的設(shè)計(jì)理念及背景演化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Go語言通過TCP協(xié)議實(shí)現(xiàn)聊天室功能
這篇文章主要為大家詳細(xì)介紹了Go語言中如何通過TCP協(xié)議實(shí)現(xiàn)聊天室功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
go 異常處理panic和recover的簡單實(shí)踐
在Go語言中,異常處理主要通過panic和recover這兩個內(nèi)建函數(shù)來實(shí)現(xiàn),本文主要介紹了go異常處理panic和recover的簡單實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04

