Golang兩種執行流程以及區別

OldBoy~發表於2018-07-31

Go語言的執行方式有兩種,一種是編譯後再執行,另一種直接go run執行.

一、先編譯後執行

.go檔案(原始碼)--->go build指令把原始碼編譯(如果是windows下會編譯出一個.exe可執行檔案,如果是linux或者mac,那麼會沒有字尾,仍然是一個可執行檔案)--->執行輸出結果

二、對原始碼直接執行go run

.go檔案(原始碼)--->底層編譯執行,是隱藏的(所以這裡速度稍微要比編譯慢)--->執行輸出結果

 

兩種執行方式的區別

①:如果我們先編譯生成了可執行檔案,那麼我們可以將該檔案拷貝到沒有go開發環境的機器上,仍然可以執行

②:如果我們是直接go run 執行,那麼如果要在另一個機器上執行,也需要go開發環境,否則無法執行。

③:在編譯時,編譯器會將程式執行依賴的庫檔案包含在可執行檔案中,可執行的檔案會變大。

相關文章