go build和go install的區(qū)別介紹
go build:
go build 用于編譯包生成可執(zhí)行文件,必須有main包才可以
go install:
go install 的作用有兩個:主要用來生成庫和工具,(如果有main包)編譯后生成的可執(zhí)行工具文件放到 bin 目錄、$GOPATH/bin,編譯后的庫文件放到 pkg 目錄下($GOPATH/pkg)
補充:go build 命令
簡介
1、用于編譯源碼文件或代碼包
-編譯非命令源碼文件不會產(chǎn)生任何結(jié)果文件
-編譯命令源碼文件會在該命令的執(zhí)行目錄中生成一個可執(zhí)行文件
2、執(zhí)行該命令且以若干源碼文件作為參數(shù)時,只有這些文件會被編譯
-注意列出代碼運行所需的全部源碼文件,否則可能產(chǎn)生編譯錯誤
3、執(zhí)行該命令且不追加任何參數(shù)時,它會試圖把當(dāng)前目錄作為代碼包并編譯
4、執(zhí)行該命令且以代碼包的導(dǎo)入路徑作為參數(shù)時,該代碼包及其依賴會被編譯
-加入-a標(biāo)記后所有涉及到的代碼包都會被重新編譯
-不加入-a標(biāo)記,則只會編譯歸檔文件中不是最新的代碼包
使用
編譯源碼文件:go build [fileName].go
編譯代碼包:go build [代碼包的導(dǎo)入路徑]
常見標(biāo)記
標(biāo)記 | 描述 |
---|---|
-o | 指定輸出文件。 |
-a | 強行對所有涉及到的代碼包(包括標(biāo)準(zhǔn)庫中的代碼包)進行重新構(gòu)建,即使它們已經(jīng)是最新的了。 |
-n | 打印構(gòu)建期間所用到的其它命令,但是并不真正執(zhí)行它們。 |
-p n | 構(gòu)建的并行數(shù)量(n)。默認情況下并行數(shù)量與CPU數(shù)量相同。 |
-race | 開啟數(shù)據(jù)競爭檢測。此標(biāo)記目前僅在linux/amd64、darwin/amd64和windows/amd64平臺下被支持。 |
-v | 打印出被構(gòu)建的代碼包的名字。 |
-work | 打印出臨時工作目錄的名字,并且取消在構(gòu)建完成后對它的刪除操作。 |
-x | 打印出構(gòu)建期間所用到的其它命令。 |
例如:
go build -a [代碼包的導(dǎo)入路徑]
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
使用go實現(xiàn)一個超級mini的消息隊列的示例代碼
本文主要介紹了使用go實現(xiàn)一個超級mini的消息隊列的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12go將request?body綁定到不同的結(jié)構(gòu)體中教程
這篇文章主要為大家介紹了go將request?body綁定到不同的結(jié)構(gòu)體中教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10一文帶你吃透Golang中net/http標(biāo)準(zhǔn)庫服務(wù)端
這篇文章將從服務(wù)端(Server)作為切入點和大家分享一下Go語言net/http標(biāo)準(zhǔn)庫的實現(xiàn)邏輯,進而一步步分析http標(biāo)準(zhǔn)庫內(nèi)部是如何運作的,感興趣的可以了解下2024-03-03