這篇“go語(yǔ)言能編譯嗎”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“go語(yǔ)言能編譯嗎”文章吧。
堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專(zhuān)業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都石牌坊小微創(chuàng)業(yè)公司專(zhuān)業(yè)提供成都定制網(wǎng)站營(yíng)銷(xiāo)網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺(jué)設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開(kāi)發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
go語(yǔ)言能編譯。Go語(yǔ)言是編譯型的靜態(tài)語(yǔ)言,是一門(mén)需要編譯才能運(yùn)行的編程語(yǔ)言。對(duì)Go語(yǔ)言程序進(jìn)行編譯的命令有兩種:1、“go build”命令,可以將Go語(yǔ)言程序代碼編譯成二進(jìn)制的可執(zhí)行文件,但該二進(jìn)制文件需要手動(dòng)運(yùn)行;2、“go run”命令,會(huì)在編譯后直接運(yùn)行Go語(yǔ)言程序,編譯過(guò)程中會(huì)產(chǎn)生一個(gè)臨時(shí)文件,但不會(huì)生成可執(zhí)行文件。
go語(yǔ)言能編譯。
Go語(yǔ)言是編譯型的靜態(tài)語(yǔ)言,是一門(mén)需要編譯才能運(yùn)行的編程語(yǔ)言,也就說(shuō)代碼在運(yùn)行之前需要通過(guò)編譯器生成二進(jìn)制機(jī)器碼,隨后二進(jìn)制文件才能在目標(biāo)機(jī)器上運(yùn)行。
可以通過(guò)Go語(yǔ)言提供的go build
或者go run
命令對(duì)Go語(yǔ)言程序進(jìn)行編譯:
go build
命令可以將Go語(yǔ)言程序代碼編譯成二進(jìn)制的可執(zhí)行文件,但是需要我們手動(dòng)運(yùn)行該二進(jìn)制文件;
go run
命令則更加方便,它會(huì)在編譯后直接運(yùn)行Go語(yǔ)言程序,編譯過(guò)程中會(huì)產(chǎn)生一個(gè)臨時(shí)文件,但不會(huì)生成可執(zhí)行文件,這個(gè)特點(diǎn)很適合用來(lái)調(diào)試程序。
1、命令行工具
這里使用 Windows 自帶的命令行工具(也叫 CMD 窗口或者命令提示符)來(lái)編譯Go語(yǔ)言程序。微軟后來(lái)對(duì)命令行工具進(jìn)行了一次升級(jí),并更名為 Powershell,power 是更加強(qiáng)大的意思。
打開(kāi)命令行工具的方式多種多樣,下面列出了比較常用的兩種:
可以在開(kāi)始菜單中打開(kāi)命令行工具,然后 cd 到 Go 源文件所在的目錄。
也可以在 Go 源文件所在目錄的空白處按住 Shift 鍵并單擊鼠標(biāo)右鍵,然后在彈出菜單中選擇“在此處打開(kāi)命令行窗口”或者“在此處打開(kāi) Powershell 窗口”,這樣會(huì)自動(dòng) cd 到 Go 源文件所在的目錄,如下圖所示。這種方式更加方便,推薦大家使用。
提示:cd 是命令行工具的一個(gè)命令,用來(lái)改變當(dāng)前所在的目錄,是 change directory 的縮寫(xiě)。
Win7 下選擇“在此處打開(kāi)命令窗口”
Win10 下選擇“在此處打開(kāi) Powershell 窗口”
go build 命令
2、go build
命令
go build命令用來(lái)啟動(dòng)編譯,它可以將Go語(yǔ)言程序與相關(guān)依賴(lài)編譯成一個(gè)可執(zhí)行文件,其語(yǔ)法格式如下。
go build fileName
其中 fileName 為所需要的參數(shù),可以是一個(gè)或者多個(gè) Go 源文件名(當(dāng)有多個(gè)參數(shù)時(shí)需要使用空格將兩個(gè)相鄰的參數(shù)隔開(kāi)),也可以省略不寫(xiě)。
使用 go build 命令進(jìn)行編譯時(shí),不同參數(shù)的執(zhí)行結(jié)果也是不同的。
1) 當(dāng)參數(shù)不為空時(shí)
如果 fileName 為同一 main 包下的所有源文件名(可能有一個(gè)或者多個(gè)),編譯器將生成一個(gè)與第一個(gè) fileName 同名的可執(zhí)行文件(如執(zhí)行go build abc.go def.go ...
會(huì)生成一個(gè) abc.exe 文件);如果 fileName 為非 main 包下的源文件名,編譯器將只對(duì)該包進(jìn)行語(yǔ)法檢查,不生成可執(zhí)行文件。
2) 當(dāng)參數(shù)為空時(shí)
如果當(dāng)前目錄下存在 main 包,則會(huì)生成一個(gè)與當(dāng)前目錄名同名的“目錄名.exe”可執(zhí)行文件(如在 hello 目錄中執(zhí)行go build
命令時(shí),會(huì)生成 hello.exe 文件);如果不存在 main 包,則只對(duì)當(dāng)前目錄下的程序源碼進(jìn)行語(yǔ)法檢查,不會(huì)生成可執(zhí)行文件。
使用go build命令對(duì)我們上一節(jié)編寫(xiě)的程序進(jìn)行編譯,運(yùn)行結(jié)果如下所示:
D:\code> go build .\demo.go
D:\code> .\demo.exe
Hello World!
其中D:\code>
對(duì)應(yīng)的是當(dāng)前目錄,也就是 D 盤(pán)下的 code 文件夾,它是命令行工具自動(dòng)添加的,不屬于編譯命令的一部分。
第 1 行g(shù)o build命令后面的參數(shù)中,.\
表示當(dāng)前目錄。在Windows 系統(tǒng)中,當(dāng)前目錄使用.\
表示;在類(lèi) Unix 系統(tǒng)(例如 Linux、MacOS 等)中,當(dāng)前目錄使用./
表示。
注意,這里的go build命令中
.\
可以省略不寫(xiě),不會(huì)影響編譯。
另外,go build命令只有在執(zhí)行出錯(cuò)的情況下才會(huì)有返回信息,執(zhí)行成功的話是沒(méi)有返回信息的,但是會(huì)在當(dāng)前目錄生成一個(gè)與 main 包文件同名的 .exe 可執(zhí)行文件,如下圖所示。
第 2 行中的.\demo.exe
表示執(zhí)行當(dāng)前目錄下的 demo.exe 程序。
第 3 行則是 demo.exe 程序的運(yùn)行結(jié)果。
3、go run
命令
除了使用go build
命令外,Go語(yǔ)言還為我們提供了go run
命令,go run
命令將編譯和執(zhí)行指令合二為一,會(huì)在編譯之后立即執(zhí)行Go語(yǔ)言程序,但是不會(huì)生成可執(zhí)行文件。
go run命令的語(yǔ)法格式如下:
go run fileName
其中 fileName 為所需要的參數(shù),參數(shù)必須是同一 main 包下的所有源文件名,并且不能為空。
使用go run命令對(duì)我們上一節(jié)編寫(xiě)的程序進(jìn)行編譯,運(yùn)行結(jié)果如下所示:
D:\code> go run demo.go
Hello World!
可以看到第 1 行的go run
命令執(zhí)行后,直接在第 2 行輸出了程序的運(yùn)行結(jié)果。
以上就是關(guān)于“go語(yǔ)言能編譯嗎”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享標(biāo)題:go語(yǔ)言能編譯嗎
本文鏈接:http://jinyejixie.com/article14/jjjige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)