Golang三個(gè)編譯基本命令的使用小結(jié)
在運(yùn)行Go語言程序之前,先要將其編譯成二進(jìn)制的可執(zhí)行文件
我們通常在編輯器編寫完源碼后使用go build或go run命令對GO語言程序進(jìn)行編譯
1、go build(編譯)
作用:將Go語言程序和相關(guān)依賴編譯成可執(zhí)行文件
語法格式:go build 【參數(shù)】 fileName
參數(shù):
fileName為所要編譯的文件名,可以是一個(gè)或多個(gè)Go源文件名(多個(gè)文件名之間需要用空格作為分隔符)
-o:指定編譯后的可執(zhí)行文件名
-n:顯示編譯時(shí)會用到的所有命令,但不真正執(zhí)行
-x:顯示編譯時(shí)用到的所有命令
在當(dāng)前家目錄下有一個(gè)demo.go的Go源程序文件(編譯單個(gè)文件),無參數(shù)編譯一個(gè)文件時(shí),會在當(dāng)前路徑下生成該Go源程序的可執(zhí)行文件,即demo
在當(dāng)前路徑下有兩個(gè)文件,main.go文件中調(diào)用了lib.go文件中自定義的一個(gè)函數(shù)(編譯多個(gè)文件),無參數(shù)編譯多個(gè)文件時(shí),會在當(dāng)前路徑下生成第一個(gè)Go源程序名稱的可執(zhí)行文件
go build編譯包
在gotest目錄下有一個(gè)main.go和一個(gè)mypkg目錄(該目錄下有一個(gè)mypkg.go)
建議mypkg.go的包名和它的目錄名相一致
參數(shù)實(shí)例:
2、go run(編譯并運(yùn)行)
作用:編譯之后立即執(zhí)行Go語言程序,但是不會生成可執(zhí)行文件
語法格式:go run fileName
參數(shù):
fileName為所要編譯的文件名,必須是同一main包下的所有源文件并且不能為空
3、go install(編譯并安裝)
作用:編譯并安裝源文件、軟件包,即把編譯后的可執(zhí)行二進(jìn)制文件安裝到指定的目錄中
go install 的編譯過程有如下規(guī)律:
- go install 是建立在 GOPATH 上的
- GOPATH 下的 bin 目錄放置的是使用 go install 生成的可執(zhí)行文件,可執(zhí)行文件的名稱來自于編譯時(shí)的包名
- GOPATH 下的 pkg 目錄放置的是編譯期間的中間文件
若設(shè)置了環(huán)境變量GOBIN,則會把可執(zhí)行二進(jìn)制文件安裝到該目錄,若禁用了Go module則安裝到$GOPATH/pkg/$GOOS_$GOARCH下
我們知道如果在工作目錄下有可執(zhí)行文件時(shí),需要./fileName來進(jìn)行執(zhí)行該文件而不是像使用命令那般只需輸入名稱不需要加上路徑
當(dāng)我們使用go install后,我們就可以使用命令那般使用可執(zhí)行文件
到此這篇關(guān)于Golang三個(gè)編譯基本命令的使用小結(jié)的文章就介紹到這了,更多相關(guān)Golang 編譯命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
優(yōu)雅使用GoFrame共享變量Context示例詳解
這篇文章主要為大家介紹了優(yōu)雅使用GoFrame共享變量Context示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Golang實(shí)現(xiàn)自己的Redis數(shù)據(jù)庫內(nèi)存實(shí)例探究
這篇文章主要為大家介紹了Golang實(shí)現(xiàn)自己的Redis數(shù)據(jù)庫內(nèi)存實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01go-zero 應(yīng)對海量定時(shí)/延遲任務(wù)的技巧
這篇文章主要介紹了go-zero 如何應(yīng)對海量定時(shí)/延遲任務(wù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Go?WEB框架使用攔截器驗(yàn)證用戶登錄狀態(tài)實(shí)現(xiàn)
這篇文章主要為大家介紹了Go?WEB框架使用攔截器驗(yàn)證用戶登錄狀態(tài)實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Go標(biāo)準(zhǔn)庫日志打印及同時(shí)輸出到控制臺與文件
Go語言內(nèi)置的log包實(shí)現(xiàn)了簡單的日志服務(wù),下面這篇文章主要給大家介紹了關(guān)于Go標(biāo)準(zhǔn)庫日志打印及同時(shí)輸出到控制臺與文件的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11golang gin 監(jiān)聽rabbitmq隊(duì)列無限消費(fèi)的案例代碼
這篇文章主要介紹了golang gin 監(jiān)聽rabbitmq隊(duì)列無限消費(fèi),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12