go build:
go build 用于編譯包生成可執(zhí)行文件,必須有main包才可以
go install:
go install 的作用有兩個(gè):主要用來生成庫和工具,(如果有main包)編譯后生成的可執(zhí)行工具文件放到 bin 目錄、$GOPATH/bin,編譯后的庫文件放到 pkg 目錄下($GOPATH/pkg)
補(bǔ)充:go build 命令
簡(jiǎn)介
1、用于編譯源碼文件或代碼包
-編譯非命令源碼文件不會(huì)產(chǎn)生任何結(jié)果文件
-編譯命令源碼文件會(huì)在該命令的執(zhí)行目錄中生成一個(gè)可執(zhí)行文件
2、執(zhí)行該命令且以若干源碼文件作為參數(shù)時(shí),只有這些文件會(huì)被編譯
-注意列出代碼運(yùn)行所需的全部源碼文件,否則可能產(chǎn)生編譯錯(cuò)誤
3、執(zhí)行該命令且不追加任何參數(shù)時(shí),它會(huì)試圖把當(dāng)前目錄作為代碼包并編譯
4、執(zhí)行該命令且以代碼包的導(dǎo)入路徑作為參數(shù)時(shí),該代碼包及其依賴會(huì)被編譯
-加入-a標(biāo)記后所有涉及到的代碼包都會(huì)被重新編譯
-不加入-a標(biāo)記,則只會(huì)編譯歸檔文件中不是最新的代碼包
使用
編譯源碼文件:go build [fileName].go
編譯代碼包:go build [代碼包的導(dǎo)入路徑]
常見標(biāo)記
標(biāo)記 | 描述 |
---|---|
-o | 指定輸出文件。 |
-a | 強(qiáng)行對(duì)所有涉及到的代碼包(包括標(biāo)準(zhǔn)庫中的代碼包)進(jìn)行重新構(gòu)建,即使它們已經(jīng)是最新的了。 |
-n | 打印構(gòu)建期間所用到的其它命令,但是并不真正執(zhí)行它們。 |
-p n | 構(gòu)建的并行數(shù)量(n)。默認(rèn)情況下并行數(shù)量與CPU數(shù)量相同。 |
-race | 開啟數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)。此標(biāo)記目前僅在linux/amd64、darwin/amd64和windows/amd64平臺(tái)下被支持。 |
-v | 打印出被構(gòu)建的代碼包的名字。 |
-work | 打印出臨時(shí)工作目錄的名字,并且取消在構(gòu)建完成后對(duì)它的刪除操作。 |
-x | 打印出構(gòu)建期間所用到的其它命令。 |
例如:
go build -a [代碼包的導(dǎo)入路徑]
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:泰安 松原 鷹潭 宜春 黔西 武漢 保定 河池
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《go build和go install的區(qū)別介紹》,本文關(guān)鍵詞 build,和,install,的,區(qū)別,介紹,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。