您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關install與build在go中有什么不同地方,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
go build:
go build 用于編譯包生成可執行文件,必須有main包才可以
go install:
go install 的作用有兩個:主要用來生成庫和工具,(如果有main包)編譯后生成的可執行工具文件放到 bin 目錄、$GOPATH/bin,編譯后的庫文件放到 pkg 目錄下($GOPATH/pkg)
補充:go build 命令
簡介
1、用于編譯源碼文件或代碼包
-編譯非命令源碼文件不會產生任何結果文件
-編譯命令源碼文件會在該命令的執行目錄中生成一個可執行文件
2、執行該命令且以若干源碼文件作為參數時,只有這些文件會被編譯
-注意列出代碼運行所需的全部源碼文件,否則可能產生編譯錯誤
3、執行該命令且不追加任何參數時,它會試圖把當前目錄作為代碼包并編譯
4、執行該命令且以代碼包的導入路徑作為參數時,該代碼包及其依賴會被編譯
-加入-a標記后所有涉及到的代碼包都會被重新編譯
-不加入-a標記,則只會編譯歸檔文件中不是最新的代碼包
使用
編譯源碼文件:go build [fileName].go
編譯代碼包:go build [代碼包的導入路徑]
常見標記
標記 | 描述 |
---|---|
-o | 指定輸出文件。 |
-a | 強行對所有涉及到的代碼包(包括標準庫中的代碼包)進行重新構建,即使它們已經是最新的了。 |
-n | 打印構建期間所用到的其它命令,但是并不真正執行它們。 |
-p n | 構建的并行數量(n)。默認情況下并行數量與CPU數量相同。 |
-race | 開啟數據競爭檢測。此標記目前僅在linux/amd64、darwin/amd64和windows/amd64平臺下被支持。 |
-v | 打印出被構建的代碼包的名字。 |
-work | 打印出臨時工作目錄的名字,并且取消在構建完成后對它的刪除操作。 |
-x | 打印出構建期間所用到的其它命令。 |
例如:
go build -a [代碼包的導入路徑]
以上就是install與build在go中有什么不同地方,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。