go語言能不能編譯

2022-12-09 22:01:18

go語言能編譯。Go語言是編譯型的靜態語言,是一門需要編譯才能執行的程式語言。對Go語言程式進行編譯的命令有兩種:1、「go build」命令,可以將Go語言程式程式碼編譯成二進位制的可執行檔案,但該二進位制檔案需要手動執行;2、「go run」命令,會在編譯後直接執行Go語言程式,編譯過程中會產生一個臨時檔案,但不會生成可執行檔案。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:windows10系統、GO 1.18版本、Dell G3電腦。

go語言能編譯。

Go語言是編譯型的靜態語言,是一門需要編譯才能執行的程式語言,也就說程式碼在執行之前需要通過編譯器生成二進位制機器碼,隨後二進位制檔案才能在目標機器上執行。

Go語言程式的編譯和執行的方法


可以通過Go語言提供的go build或者go run命令對Go語言程式進行編譯:

  • go build命令可以將Go語言程式程式碼編譯成二進位制的可執行檔案,但是需要我們手動執行該二進位制檔案;

  • go run命令則更加方便,它會在編譯後直接執行Go語言程式,編譯過程中會產生一個臨時檔案,但不會生成可執行檔案,這個特點很適合用來偵錯程式。【相關推薦:Go視訊教學、】

1、命令列工具

這裡使用 Windows 自帶的命令列工具(也叫 CMD 視窗或者命令提示字元)來編譯Go語言程式。微軟後來對命令列工具進行了一次升級,並更名為 Powershell,power 是更加強大的意思。

開啟命令列工具的方式多種多樣,下面列出了比較常用的兩種:

  • 可以在開始選單中開啟命令列工具,然後 cd 到 Go 原始檔所在的目錄。

  • 也可以在 Go 原始檔所在目錄的空白處按住 Shift 鍵並單擊滑鼠右鍵,然後在彈出選單中選擇「在此處開啟命令列視窗」或者「在此處開啟 Powershell 視窗」,這樣會自動 cd 到 Go 原始檔所在的目錄,如下圖所示。這種方式更加方便,推薦大家使用。

提示:cd 是命令列工具的一個命令,用來改變當前所在的目錄,是 change directory 的縮寫。

1.gif
Win7 下選擇「在此處開啟命令視窗」

2.gif
Win10 下選擇「在此處開啟 Powershell 視窗」 go build 命令

2、go build 命令

go build命令用來啟動編譯,它可以將Go語言程式與相關依賴編譯成一個可執行檔案,其語法格式如下。

go build fileName
登入後複製
  • 其中 fileName 為所需要的引數,可以是一個或者多個 Go 原始檔名(當有多個引數時需要使用空格將兩個相鄰的引數隔開),也可以省略不寫。

使用 go build 命令進行編譯時,不同引數的執行結果也是不同的。

1) 當引數不為空時

如果 fileName 為同一 main 包下的所有原始檔名(可能有一個或者多個),編譯器將生成一個與第一個 fileName 同名的可執行檔案(如執行go build abc.go def.go ...會生成一個 abc.exe 檔案);如果 fileName 為非 main 包下的原始檔名,編譯器將只對該包進行語法檢查,不生成可執行檔案。

2) 當引數為空時

如果當前目錄下存在 main 包,則會生成一個與當前目錄名同名的「目錄名.exe」可執行檔案(如在 hello 目錄中執行go build命令時,會生成 hello.exe 檔案);如果不存在 main 包,則只對當前目錄下的程式原始碼進行語法檢查,不會生成可執行檔案。

使用go build命令對我們上一節編寫的程式進行編譯,執行結果如下所示:

D:\code> go build .\demo.go
D:\code> .\demo.exe
Hello World!
登入後複製

其中D:\code>對應的是當前目錄,也就是 D 盤下的 code 資料夾,它是命令列工具自動新增的,不屬於編譯命令的一部分。

第 1 行go build命令後面的引數中,.\表示當前目錄。在Windows 系統中,當前目錄使用.\表示;在類 Unix 系統(例如 Linux、MacOS 等)中,當前目錄使用./表示。

注意,這裡的go build命令中.\可以省略不寫,不會影響編譯。

另外,go build命令只有在執行出錯的情況下才會有返回資訊,執行成功的話是沒有返回資訊的,但是會在當前目錄生成一個與 main 包檔案同名的 .exe 可執行檔案,如下圖所示。

3.png

第 2 行中的.\demo.exe表示執行當前目錄下的 demo.exe 程式。

第 3 行則是 demo.exe 程式的執行結果。

3、go run 命令

除了使用go build命令外,Go語言還為我們提供了go run命令,go run命令將編譯和執行指令合二為一,會在編譯之後立即執行Go語言程式,但是不會生成可執行檔案。

go run命令的語法格式如下:

go run fileName
登入後複製
  • 其中 fileName 為所需要的引數,引數必須是同一 main 包下的所有原始檔名,並且不能為空。

使用go run命令對我們上一節編寫的程式進行編譯,執行結果如下所示:

D:\code> go run demo.go
Hello World!
登入後複製

可以看到第 1 行的go run命令執行後,直接在第 2 行輸出了程式的執行結果。

更多程式設計相關知識,請存取:!!

以上就是go語言能不能編譯的詳細內容,更多請關注TW511.COM其它相關文章!