主頁(yè) > 知識(shí)庫(kù) > go build和go install的區(qū)別介紹

go build和go install的區(qū)別介紹

熱門標(biāo)簽:百度競(jìng)價(jià)排名 AI電銷 鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 服務(wù)外包 地方門戶網(wǎng)站

go build:

go build 用于編譯包生成可執(zhí)行文件,必須有main包才可以

go install:

go install 的作用有兩個(gè):主要用來(lái)生成庫(kù)和工具,(如果有main包)編譯后生成的可執(zhí)行工具文件放到 bin 目錄、$GOPATH/bin,編譯后的庫(kù)文件放到 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)庫(kù)中的代碼包)進(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ò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 淺談go build后加文件和目錄的區(qū)別
  • go build 通過文件名后綴實(shí)現(xiàn)不同平臺(tái)的條件編譯操作
  • go install/build生成的文件命名和路徑操作
  • 解決go build不去vendor下查找包的問題

標(biāo)簽:蘭州 仙桃 湘潭 銅川 湖南 崇左 黃山 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《go build和go install的區(qū)別介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266