- Go并發(fā)編程實(shí)戰(zhàn)
- 汪明
- 1604字
- 2022-07-29 15:05:28
1.7 Go程序的集成開發(fā)環(huán)境
雖然可以用任何文本編輯工具來編寫Go語言的程序,但是純文本工具編寫程序代碼的效率非常低,因?yàn)槿鄙僬Z法高亮、代碼智能提示以及調(diào)試等功能。因此需要找到一款適合自己的Go語言源代碼編輯器,通過配置Go語言的開發(fā)環(huán)境,讓源代碼編輯器具有代碼語法高亮、自動(dòng)代碼補(bǔ)全以及其他程序代碼的編輯特性,從而提高程序代碼的編寫效率。目前支持Go語言的源代碼編輯器與集成開發(fā)環(huán)境(IDE)主要有:
· Visual Studio Code
· GoLand
· LiteIDE
· Sublime text
· Netbeans
· Eclipse with goclipse
· Atom
· Brackets
其中,Visual Studio Code是微軟推出的一款開源免費(fèi)的源代碼編輯器,支持多種語言,有大量的插件可以安裝,占用資源也較少。因此,這里推薦用Visual Studio Code作為源代碼編輯器。
Visual Studio Code可以運(yùn)行在Mac OS X、Windows和Linux平臺(tái)上,是一款針用于編寫現(xiàn)代Web和云應(yīng)用的跨平臺(tái)源代碼編輯器。Visual Studio Code對Web開發(fā)的支持特別好,同時(shí)支持多種主流語言,例如Go、Rust、F#、C#、Java、PHP、C++、JavaScript和TypeScript等。
(1)打開網(wǎng)站https://code.visualstudio.com/download,如圖1.14所示。這里需要根據(jù)自己的操作系統(tǒng)來下載合適的版本。我們選擇Windows平臺(tái),并下載64位的安裝文件(User Installer 64bit)。

圖1.14 Visual Studio Code下載界面
(2)下載的安裝文件為VSCodeUserSetup-x64-1.40.1.exe,雙擊該文件并按照安裝向?qū)нM(jìn)行安裝即可。安裝成功后,再安裝Go擴(kuò)展插件,如圖1.15所示。

圖1.15 Visual Studio Code Go擴(kuò)展插件
(3)該Go擴(kuò)展插件會(huì)在C:\GoWork\bin目錄下安裝如下模塊:gocode、gopkgs、go-outline、go-symbols、guru、gorename、gotests、gomodifytags、impl、fillstruct、goplay、godoctor、dlv、gocode-gomod、godef、goreturns和golint。成功安裝后,Visual Studio Code即可提供Go語言代碼智能提示功能和調(diào)試功能(需要安裝delve),如圖1.16所示。

圖1.16 Visual Studio Code Go代碼智能提示功能
Visual Studio Code是一款開源的源代碼編輯器,由于它的安裝簡單、插件豐富、界面簡潔美觀、功能強(qiáng)大而又小巧,因此深受各類開發(fā)人員的喜愛。另外,Visual Studio Code可以運(yùn)行在多種操作系統(tǒng)上,是微軟的良心之作。
注意
安裝適用于VS Code的中文(簡體)語言包可使Visual Studio Code呈現(xiàn)為中文版的界面。
(4)如果無法訪問國外官方的Go庫鏡像網(wǎng)站,那么Visual Studio Code的Go插件聯(lián)網(wǎng)下載多個(gè)工具包時(shí)會(huì)提示下載失敗的信息,如圖1.17所示。根據(jù)不同版本的Go語言和Visual Studio Code(Go插件),需要下載的庫個(gè)數(shù)和具體的包可能會(huì)存在差異。

圖1.17 Visual Studio Code的Go插件安裝依賴包失敗時(shí)的界面
(5)為了解決這個(gè)問題,這里需要配置GOPROXY國內(nèi)代理地址來提高下載的速度,防止網(wǎng)絡(luò)超時(shí)導(dǎo)致下載失敗。國內(nèi)代理有:
· 阿里云:GOPROXY=https://mirrors.aliyun.com/goproxy/。
· goproxy.io:GOPROXY=https://goproxy.io/。
· 官方代理:GOPROXY=https://proxy.golang.org。
· 七牛云:GOPROXY=https://goproxy.cn。
在Windows上,打開命令行,執(zhí)行命令SETX GO111MODULE on,開啟Go的MODULE支持,然后配置環(huán)境變量GOPROXY值為https://goproxy.cn。代理配置成功后,重啟命令行,然后進(jìn)行安裝即可,如圖1.18所示。

圖1.18 配置goproxy代理后Go插件安裝依賴包界面
如果仍然無法下載相關(guān)庫文件,則可嘗試在命令行窗口中執(zhí)行命令go env -w GOSUMDB = off來關(guān)閉sum驗(yàn)證服務(wù),或者執(zhí)行g(shù)o env -w GOSUMDB="sum.golang.google.cn"設(shè)置成國內(nèi)的sum驗(yàn)證服務(wù),再下載依賴包。
注意
Visual Studio Code想實(shí)現(xiàn)調(diào)試功能,必須手動(dòng)安裝delve庫,可執(zhí)行命令go get -u github.com/go-delve/delve/cmd/dlv。
研究Go插件需要安裝的幾個(gè)包就會(huì)發(fā)現(xiàn):gocode庫用于代碼智能提示,delve庫用于調(diào)試Go源代碼,gopkgs庫用于對當(dāng)前文件實(shí)現(xiàn)智能的包導(dǎo)入,golint用于在文件保存時(shí)檢查語法,godef用于跳轉(zhuǎn)到定義包。掌握這些庫的基本用法,可以構(gòu)建自己的Go源代碼編輯器環(huán)境,實(shí)現(xiàn)Go語法智能提示和實(shí)現(xiàn)調(diào)試功能。
注意
gopls庫是官方的語言服務(wù)器(Go Language Server),也可以實(shí)現(xiàn)Go語言的代碼智能提示和跳轉(zhuǎn)到定義包等功能。
(6)安裝Go插件后,如果希望Visual Studio Code在Go源代碼保存時(shí)自動(dòng)進(jìn)行格式化或者自動(dòng)導(dǎo)入包等操作,此時(shí)需要在Visual Studio Code中進(jìn)行設(shè)置(Settings)。
通過在項(xiàng)目的.vscode目錄中配置settings.json文件來設(shè)置其中的Go配置項(xiàng)。settings.json的具體配置可以參考示例程序1-2中所示的JSON。
示例程序1-2 VSCode配置settings.json示例:.vscode\settings.json

另外,JetBrains公司的GoLand工具界面如圖1.19所示,是專門針對Go語言開發(fā)的一款集成開發(fā)環(huán)境。雖然用GoLand進(jìn)行Go語言程序的開發(fā)會(huì)更加容易一點(diǎn),但GoLand是一款收費(fèi)工具,因此建議讀者使用開源免費(fèi)的Visual Studio Code。

圖1.19 GoLand的Go代碼智能提示界面
在GoLand中,若想實(shí)現(xiàn)在保存Go文件時(shí)調(diào)用gofmt對源代碼進(jìn)行格式化操作,則需要配置一下,依次打開選項(xiàng)“File?Settings”,在設(shè)置界面中對File Watchers進(jìn)行設(shè)置,如圖1.20所示。

圖1.20 GoLand的gofmt格式化工具配置界面
- DB2 V9權(quán)威指南
- LabVIEW 2018 虛擬儀器程序設(shè)計(jì)
- Visual Basic編程:從基礎(chǔ)到實(shí)踐(第2版)
- Windows系統(tǒng)管理與服務(wù)配置
- Java Web程序設(shè)計(jì)任務(wù)教程
- Windows Phone 7.5:Building Location-aware Applications
- HTML5+CSS3+JavaScript 從入門到項(xiàng)目實(shí)踐(超值版)
- Getting Started with Electronic Projects
- HTML5移動(dòng)前端開發(fā)基礎(chǔ)與實(shí)戰(zhàn)(微課版)
- C#程序設(shè)計(jì)基礎(chǔ)入門教程
- 程序員必會(huì)的40種算法
- Puppet 5 Beginner's Guide(Third Edition)
- 算法訓(xùn)練營:海量圖解+競賽刷題(入門篇)
- Swift iOS Programming for Kids
- Scratch超人漫游記:創(chuàng)意程序設(shè)計(jì):STEAM創(chuàng)新教育指南