Go執行流程
如果是對源代碼編譯后,再執行,Go的執行流程如下圖
go build生成的可執行文件會在當前目錄內
如果是對源代碼直接執行go run 源文件操作,Go的執行流程如下圖
兩種執行流程的方式說明
- 如果我們先編譯生成了可執行文件,我們可以將該可執行文件拷貝到沒有go開發環境的機器上,仍然可以運行
- 如果我們是直接go run 源文件,那么我們如果要在另外一個機器上這么運行,也需要go開發環境,否則無法執行。
- 在編譯時,編譯器會將程序運行以來的庫文件包含在可執行文件中,所以,可執行文件變大了很多。
示例:
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)