首頁 > 後端開發 > Golang > 主體

go語言程式如何編譯

青灯夜游
發布: 2023-02-08 17:28:08
原創
13110 人瀏覽過

編譯go語言程式的方法:1、在命令列工具中執行「go build fileName」指令,會將程式碼編譯成二進位的執行檔;2、在命令列工具中執行「go run fileName」指令,它會在編譯後直接執行Go語言程式。

go語言程式如何編譯

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

Go語言是編譯型的靜態語言(和C語言一樣),所以在執行Go語言程式之前,先要將其編譯成二進位的可執行檔。

可以透過Go語言提供的go buildgo run指令對Go語言程式進行編譯:

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

  • ##go run指令則比較方便,它會在編譯後直接執行Go語言程序,編譯過程會產生一個臨時文件,但不會產生可執行文件,這個特點很適合用來除錯程式。

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

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

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

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

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

go語言程式如何編譯

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 可執行文件,如下圖所示。

go語言程式如何編譯

第 2 行中的

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

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

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 行输出了程序的运行结果。

推荐学习:Golang教程

以上是go語言程式如何編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板