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中文網其他相關文章!