這篇文章主要講解了“怎么編譯go語言程序”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么編譯go語言程序”吧!
成都創(chuàng)新互聯(lián)公司專注于新晃企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站定制開發(fā)。新晃網(wǎng)站建設(shè)公司,為新晃等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)Go語言是編譯型的靜態(tài)語言(和C語言一樣),所以在運(yùn)行Go語言程序之前,先要將其編譯成二進(jìn)制的可執(zhí)行文件。
可以通過Go語言提供的go build
或者go run
命令對Go語言程序進(jìn)行編譯:
go build
命令可以將Go語言程序代碼編譯成二進(jìn)制的可執(zhí)行文件,但是需要我們手動運(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 窗口”,這樣會自動 cd 到 Go 源文件所在的目錄,如下圖所示。這種方式更加方便,推薦大家使用。
提示:cd 是命令行工具的一個(gè)命令,用來改變當(dāng)前所在的目錄,是 change directory 的縮寫。
go build 命令
go build命令用來啟動編譯,它可以將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 文件夾,它是命令行工具自動添加的,不屬于編譯命令的一部分。
第 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í)行文件,如下圖所示。
第 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)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!