如果是對原始程式碼編譯後,再執行,Go的執行流程如下圖:
go build產生的可執行檔會在目前目錄內
如果是對原始碼直接執行go run 原始檔操作,Go的執行流程如下圖
兩種執行流程的方式說明:
1、如果我們先編譯產生了可執行文件,我們可以將該可執行檔拷貝到沒有go開發環境的機器上,仍然可以運作。
2、如果我們是直接go run 原始檔,那麼我們如果要在另外一個機器上這麼運行,也需要go開發環境,否則無法執行。
3、在編譯時,編譯器會將程式執行以來的函式庫檔案包含在執行檔中,所以,執行檔變大了很多。
範例:
go build index.go
#go run index.go
go run、go build、go install指令解釋
go run:go run 編譯並直接執行程序,它會產生一個暫存檔案(但不會產生.exe文件),直接在命令列輸出程式執行結果,方便使用者偵錯。
go build:go build 用來測試編譯包,主要檢查是否會有編譯錯誤,如果是執行檔的原始碼(即是 main 套件),就會直接產生一個可執行檔。
go install:go install 的作用有兩步:第一步是編譯導入的包文件,所有導入的包文件編譯完才會編譯主程序;第二步是將編譯後生成的可執行檔放到bin 目錄下($GOPATH/bin),編譯後的包檔放到pkg 目錄下($GOPATH/pkg)
更多go語言知識請關注php中文網go語言教程專欄。
以上是Go語言執行流程詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!