淺談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的使用
一個(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,方便用戶(hù)進(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í)行文件依賴(lài)的各種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ò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Go?實(shí)現(xiàn)?WebSockets之創(chuàng)建?WebSockets
這篇文章主要介紹了Go?實(shí)現(xiàn)?WebSockets之創(chuàng)建?WebSockets,文章主要探索?WebSockets,并簡(jiǎn)要介紹了它們的工作原理,并仔細(xì)研究了全雙工通信,想了解更多相關(guān)內(nèi)容的小伙伴可以參考一下2022-04-04Golang中基于HTTP協(xié)議的網(wǎng)絡(luò)服務(wù)
HTTP協(xié)議是基于TCP/IP協(xié)議棧的,并且它也是一個(gè)面向普通文本的協(xié)議。這篇文章主要詳細(xì)介紹了Golang中基于HTTP協(xié)議的網(wǎng)絡(luò)服務(wù),感興趣的小伙伴可以借鑒一下2023-04-04Go語(yǔ)言中的日期與時(shí)間用法詳細(xì)介紹
Go語(yǔ)言提供了豐富的日期與時(shí)間處理函數(shù),涵蓋了從獲取當(dāng)前時(shí)間到格式化、時(shí)區(qū)轉(zhuǎn)換、定時(shí)器和計(jì)時(shí)器的功能,這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中日期與時(shí)間用法的相關(guān)資料,需要的朋友可以參考下2024-06-06go項(xiàng)目實(shí)現(xiàn)mysql接入及web?api的操作方法
這篇文章主要介紹了go項(xiàng)目實(shí)現(xiàn)mysql接入以及web api,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08一文掌握Golang的panic和recover實(shí)戰(zhàn)
Go語(yǔ)言中,異常處理通常依賴(lài)error返回值,本文將通過(guò)示例展示如何在Go語(yǔ)言中正確使用recover來(lái)處理panic異常,防止程序直接崩潰,感興趣的朋友跟隨小編一起看看吧2024-09-09Go語(yǔ)言循環(huán)遍歷含有中文的字符串的方法小結(jié)
這篇文章主要介紹了Go語(yǔ)言循環(huán)遍歷含有中文的字符串的幾種方法,文章通過(guò)代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴跟著小編一起來(lái)看看吧2023-07-07