go build和go install的區(qū)別介紹
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)入路徑]
常見(jiàn)標(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 | 開(kāi)啟數(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ò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Golang中文件目錄操作的實(shí)現(xiàn)步驟詳解
在Golang中,文件目錄是指計(jì)算機(jī)文件系統(tǒng)中的文件夾或目錄。目錄是用于組織和存儲(chǔ)文件的一種方式,可以包含文件和其他子目錄,本文主要介紹了Golang中文件目錄操作的實(shí)現(xiàn)方法,需要的朋友可以參考下2023-05-05
Centos下搭建golang環(huán)境及vim高亮Go關(guān)鍵字設(shè)置的方法
這篇文章先給大家詳細(xì)介紹了在Centos下搭建golang環(huán)境的步驟,大家按照下面的方法就可以自己搭建golang環(huán)境,搭建完成后又給大家介紹了vim高亮Go關(guān)鍵字設(shè)置的方法,文中通過(guò)示例代碼介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-11-11
使用Go語(yǔ)言寫(xiě)一個(gè)Http?Server的實(shí)現(xiàn)
本文主要介紹了使用Go語(yǔ)言寫(xiě)一個(gè)Http?Server的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
go語(yǔ)言vscode集成開(kāi)發(fā)環(huán)境搭建
本文將介紹如何使用VSCode搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境,Go語(yǔ)言是一種簡(jiǎn)潔高效的編程語(yǔ)言,而VSCode是一款輕量級(jí)的集成開(kāi)發(fā)環(huán)境,二者的結(jié)合可以提供良好的開(kāi)發(fā)體驗(yàn),2023-08-08
gorm FirstOrCreate和受影響的行數(shù)實(shí)例
這篇文章主要介紹了gorm FirstOrCreate和受影響的行數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
golang中定時(shí)器cpu使用率高的現(xiàn)象詳析
這篇文章主要給大家介紹了關(guān)于golang中定時(shí)器cpu使用率高的現(xiàn)象的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
Goland配置leetcode的實(shí)現(xiàn)示例
本文主要介紹了Goland配置leetcode的實(shí)現(xiàn)示例,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
Golang中context庫(kù)的高級(jí)應(yīng)用
context庫(kù)不僅對(duì)于提升代碼的效率和性能至關(guān)重要,而且還幫助開(kāi)發(fā)者在復(fù)雜的系統(tǒng)中保持代碼的清晰和可維護(hù)性,下面我們就來(lái)看看context庫(kù)的高級(jí)應(yīng)用吧2024-01-01

