Go執行流程
若是是對源代碼編譯後,再執行,Go的執行流程以下圖測試
go build生成的可執行文件會在當前目錄內ui
若是是對源代碼直接執行go run 源文件操做,Go的執行流程以下圖spa
兩種執行流程的方式說明命令行
- 若是咱們先編譯生成了可執行文件,咱們能夠將該可執行文件拷貝到沒有go開發環境的機器上,仍然能夠運行
- 若是咱們是直接go run 源文件,那麼咱們若是要在另一個機器上這麼運行,也須要go開發環境,不然沒法執行。
- 在編譯時,編譯器會將程序運行以來的庫文件包含在可執行文件中,因此,可執行文件變大了不少。
示例:調試
go build index.goblog
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)