go build和go install的區別介紹

2022-09-22 01:18:10 字數 1091 閱讀 5525

go build:

go build 用於編譯包生成可執行檔案,必須有main包才可以

go install:

go install 的作用有兩aazrzqcwai個:主要用來生成庫和工具,(如果有main包)編譯後生成的可執行工具檔案放到 bin 目錄、$gopath/bin,編譯後的庫檔案放到 pkg 目錄下($gopath/pkg)

補充:go build 命令

簡介1、用於編譯原始碼檔案或**包

-編譯非命令原始碼檔案不會產生任何結果檔案

-編譯命令原始碼檔案會在該命令的執行目錄中生成乙個可執行檔案

2、執行該命令且以若干原始碼檔案作為引數時,只有這些檔案會被編譯

-注意列出**執行所需的全部原始碼檔案,否則可能產生編譯錯誤

3、執行該命令且不追加任何引數時,它會試圖aazrzqcwai把當前目錄作為**包並編譯aazrzqcwai

4、執行該命令且以**包的匯入路徑作為引數時,該**包及其依賴會被編譯

-加入-a標記後所有涉及到的**包都會被重新編譯

-不加入-a標記,則只會編譯歸檔檔案中不是最新的**包

使用編譯原始碼檔案:go build [filename].go

編譯**包:go build [**包的匯入路徑]

常見標記

標記描述

-o指定輸出檔案。

-a強行對所有涉及到的**包(包括標準庫中的**包)進行重新構建,即使它們已經是最新的了。

-n列印構建期間所用到的其它命令,但是並不真正www.cppcns.com執行它們。

-p n

構建的並行數量(n)。預設情況下並行數量與cpu數量相同。

-race

開啟資料競爭檢測。此標記目前僅在linux/amd64、darwin/amd64和windows/amd64平台下被支援。

-v列印出被構建的**包的名字。

-work

列印出臨時工作目錄的名字,並且取消在構建完成後對它的刪除操作。

-x列印出構建期間所用到的其它命令。

例如:go build -a [**包的匯入路徑]

本文標題: go build和go install的區別介紹

本文位址:

go build 和 go install 的區別

go install build都是用來編譯包和其依賴的包。區別 go build 只對main包有效 在當前目錄 編譯生成乙個可執行的二進位制檔案 依賴包生成的靜態庫檔案放在 gopath pkg go install一般生成靜態庫檔案放在 gopath pkg目錄下,副檔名a.只對main包有效...

go build和go install的區別

go build 通過go build加上要編譯的go源檔名,我們即可得到乙個可執行檔案,預設情況下這個檔案的名字為原始檔名字去掉.go字尾。go build hello.go lshello hello.go當然我們也 可以通過 o選項來指定其他名字 go build o mygo hello.g...

Go Build 多平台構建

golang 支援在乙個平台下生成另乙個平台可執行程式的交叉編譯功能 cgo enabled 0 goos linux goarch amd64 go build test.go cgo enabled 0 goos windows goarch amd64 go build test.gocgo ...