溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么編譯go語言程序

發(fā)布時(shí)間:2022-04-15 14:27:07 來源:億速云 閱讀:115 作者:iii 欄目:編程語言

這篇文章主要講解了“怎么編譯go語言程序”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么編譯go語言程序”吧!

Go語言是編譯型的靜態(tài)語言(和C語言一樣),所以在運(yùn)行Go語言程序之前,先要將其編譯成二進(jìn)制的可執(zhí)行文件。

可以通過Go語言提供的go build或者go run命令對Go語言程序進(jìn)行編譯:

  • go build命令可以將Go語言程序代碼編譯成二進(jìn)制的可執(zhí)行文件,但是需要我們手動(dòng)運(yùn)行該二進(jìn)制文件;

  • go run命令則更加方便,它會在編譯后直接運(yùn)行Go語言程序,編譯過程中會產(chǎn)生一個(gè)臨時(shí)文件,但不會生成可執(zhí)行文件,這個(gè)特點(diǎn)很適合用來調(diào)試程序。

我們可以直接使用 Windows 自帶的命令行工具(也叫 CMD 窗口或者命令提示符)來編譯Go語言程序。微軟后來對命令行工具進(jìn)行了一次升級,并更名為 Powershell,power 是更加強(qiáng)大的意思。

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

  • 可以在開始菜單中打開命令行工具,然后 cd 到 Go 源文件所在的目錄。

  • 也可以在 Go 源文件所在目錄的空白處按住 Shift 鍵并單擊鼠標(biāo)右鍵,然后在彈出菜單中選擇“在此處打開命令行窗口”或者“在此處打開 Powershell 窗口”,這樣會自動(dòng) cd 到 Go 源文件所在的目錄,如下圖所示。這種方式更加方便,推薦大家使用。

提示:cd 是命令行工具的一個(gè)命令,用來改變當(dāng)前所在的目錄,是 change directory 的縮寫。

怎么編譯go語言程序

go build 命令

go build命令用來啟動(dòng)編譯,它可以將Go語言程序與相關(guān)依賴編譯成一個(gè)可執(zhí)行文件,其語法格式如下。

go build fileName

其中 fileName 為所需要的參數(shù),可以是一個(gè)或者多個(gè) Go 源文件名(當(dāng)有多個(gè)參數(shù)時(shí)需要使用空格將兩個(gè)相鄰的參數(shù)隔開),也可以省略不寫。

使用 go build 命令進(jìn)行編譯時(shí),不同參數(shù)的執(zhí)行結(jié)果也是不同的。

1) 當(dāng)參數(shù)不為空時(shí)

如果 fileName 為同一 main 包下的所有源文件名(可能有一個(gè)或者多個(gè)),編譯器將生成一個(gè)與第一個(gè) fileName 同名的可執(zhí)行文件(如執(zhí)行g(shù)o build abc.go def.go ...會生成一個(gè) abc.exe 文件);如果 fileName 為非 main 包下的源文件名,編譯器將只對該包進(jìn)行語法檢查,不生成可執(zhí)行文件。

2) 當(dāng)參數(shù)為空時(shí)

如果當(dāng)前目錄下存在 main 包,則會生成一個(gè)與當(dāng)前目錄名同名的“目錄名.exe”可執(zhí)行文件(如在 hello 目錄中執(zhí)行g(shù)o build命令時(shí),會生成 hello.exe 文件);如果不存在 main 包,則只對當(dāng)前目錄下的程序源碼進(jìn)行語法檢查,不會生成可執(zhí)行文件。

使用go build命令對我們上一節(jié)編寫的程序進(jìn)行編譯,運(yùn)行結(jié)果如下所示:

D:\code> go build .\demo.go
D:\code> .\demo.exe
Hello World!

其中D:\code>對應(yīng)的是當(dāng)前目錄,也就是 D 盤下的 code 文件夾,它是命令行工具自動(dòng)添加的,不屬于編譯命令的一部分。

第 1 行go build命令后面的參數(shù)中,.\表示當(dāng)前目錄。在Windows 系統(tǒng)中,當(dāng)前目錄使用.\表示;在類 Unix 系統(tǒng)(例如 Linux、MacOS 等)中,當(dāng)前目錄使用./表示。

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

另外,go build命令只有在執(zhí)行出錯(cuò)的情況下才會有返回信息,執(zhí)行成功的話是沒有返回信息的,但是會在當(dāng)前目錄生成一個(gè)與 main 包文件同名的 .exe 可執(zhí)行文件,如下圖所示。

怎么編譯go語言程序

第 2 行中的.\demo.exe表示執(zhí)行當(dāng)前目錄下的 demo.exe 程序。

第 3 行則是 demo.exe 程序的運(yùn)行結(jié)果。

go run 命令

除了使用go build命令外,Go語言還為我們提供了go run命令,go run命令將編譯和執(zhí)行指令合二為一,會在編譯之后立即執(zhí)行Go語言程序,但是不會生成可執(zhí)行文件。

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

go run fileName

其中 fileName 為所需要的參數(shù),參數(shù)必須是同一 main 包下的所有源文件名,并且不能為空。

使用go run命令對我們上一節(jié)編寫的程序進(jìn)行編譯,運(yùn)行結(jié)果如下所示:

D:\code> go run demo.go
Hello World!

感謝各位的閱讀,以上就是“怎么編譯go語言程序”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么編譯go語言程序這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI