首頁 >後端開發 >Golang >golang怎麼編譯

golang怎麼編譯

尚
原創
2020-01-13 11:21:005577瀏覽

golang怎麼編譯

golang編譯的方法:

1、使用go build指令編譯

go build指令用來編譯我們指定的源碼檔案或代碼包以及它們的依賴包。

例如,如果我們在執行go build指令時不後面跟著任何程式碼包,那麼指令將試圖編譯目前目錄所對應的程式碼包。例如,我們想編譯goc2p專案的程式碼包logging。其中一個方法是進入logging目錄並直接執行該命令:

hc@ubt:~/golang/goc2p/src/logging$ go build

因為在代碼包logging中只有庫源碼文件和測試源碼文件,所以在執行go build命令之後不會在當前目錄和goc2p項目的pkg目錄中產生任何檔案。

2、使用go install指令編譯

go install 只是將編譯的中間檔案放在GOPATH 的pkg 目錄下,並且固定地將編譯結果放在GOPATH的bin 目錄下。

這個指令在內部其實分成了兩步驟操作:第一步是產生結果檔(執行檔或.a 套件),第二步會把編譯好的結果移到$GOPATH/pkg或$GOPATH/bin。

使用 go install 來執行程式碼,參考下面的 shell:

$ export GOPATH=/home/davy/golangbook/code
$ go install chapter11/goinstall

golang 的go build、go install 指令都是可產生可實施檔案。

go install 和 go build 在沒有參數時執行,都會在目前目錄下編譯,如果目前目錄是軟體主程式(package main)

go build 會產生可實施檔案放在在目前目錄中,go install 則會把它放到 $GOPATH/bin 中。

go install 也會把導入的依賴包編譯到 $GOPATH/pkg,並且緩存,如果包未做更改,下次編譯則直接使用緩存。 go build 指令加參數 -i 也能達到go install 的效果。

更多golang知識請關注PHP中文網golang教學欄位。

以上是golang怎麼編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn