go語(yǔ)言vscode集成開(kāi)發(fā)環(huán)境搭建
本篇概要
搭建go語(yǔ)言環(huán)境,除了要搭建go語(yǔ)言的編譯環(huán)境,還要搭建go語(yǔ)言的集成開(kāi)發(fā)環(huán)境,為此需要選擇go語(yǔ)言的集成開(kāi)發(fā)環(huán)境的工具,這就是“工于善其事,必先利其器”,可以大大加快自己的開(kāi)發(fā)進(jìn)度。
集成開(kāi)發(fā)環(huán)境工具(ide)
這里我主要介紹從我2016年開(kāi)始學(xué)習(xí)go語(yǔ)言以來(lái)使用過(guò)的go語(yǔ)言的所有集成開(kāi)發(fā)環(huán)境工具,如果你對(duì)這段沒(méi)有興趣,可以直接跳過(guò)。
Goland或IntelliJ IDEA
這是我較早使用的集成開(kāi)發(fā)環(huán)境工具,Goland或IntelliJ IDEA等JetBrains產(chǎn)品是非常優(yōu)秀的go語(yǔ)言集成開(kāi)發(fā)環(huán)境工具,其中IntelliJ IDEA更是一個(gè)幾乎所有主流語(yǔ)言的集成開(kāi)發(fā)環(huán)境工具。
Goland或IntelliJ IDEA是目前我用過(guò)的最好的go語(yǔ)言集成開(kāi)發(fā)環(huán)境,它比其他開(kāi)發(fā)環(huán)境優(yōu)秀的地方是對(duì)于go語(yǔ)言接口的完美支持。它不僅可以快速檢索哪些go語(yǔ)言的機(jī)構(gòu)體實(shí)現(xiàn)了一個(gè)go語(yǔ)言接口,而且能快速檢索一個(gè)go語(yǔ)言的機(jī)構(gòu)體是否實(shí)現(xiàn)某個(gè)go語(yǔ)言接口,而其他集成開(kāi)發(fā)環(huán)境并不能完美做到這一點(diǎn)(事實(shí)上這點(diǎn)很重要,go語(yǔ)言是面向接口的,而且是隱式的)。如果你是一個(gè)初學(xué)go語(yǔ)言的開(kāi)發(fā)者,我強(qiáng)烈推薦你使用這個(gè)集成開(kāi)發(fā)環(huán)境工具!另外,它配置非常簡(jiǎn)單,對(duì)新進(jìn)的開(kāi)發(fā)者也極其友好,你肯定會(huì)喜歡上它的開(kāi)發(fā)環(huán)境和插件。
但是這個(gè)工具的唯一缺點(diǎn)就是每年需要你投入一定的資金(現(xiàn)在第一年US $99.00)購(gòu)買許可證,當(dāng)然每年的許可費(fèi)用會(huì)越來(lái)越便宜,另外如果你是學(xué)生,可以免費(fèi)白嫖這個(gè)工具。
Visual Studio Code
Visual Studio Code簡(jiǎn)稱vscode,這是我現(xiàn)在使用的集成開(kāi)發(fā)環(huán)境,而且是雖然它不如Goland或IntelliJ IDEA,但是它支持go語(yǔ)言google開(kāi)發(fā)團(tuán)隊(duì)開(kāi)發(fā)的官方語(yǔ)言服務(wù)器gopls,在go語(yǔ)言1.13時(shí)代之后官方語(yǔ)言服務(wù)器gopls已經(jīng)逐步替代了許多其他的go語(yǔ)言工具,另外我覺(jué)得Visual Studio Code是目前免費(fèi)go語(yǔ)言集成開(kāi)發(fā)工具做的最好的,由于它對(duì)官方語(yǔ)言服務(wù)器的支持,為此Visual Studio Code在go語(yǔ)言編程時(shí)支持go mod依賴,代碼補(bǔ)全,語(yǔ)義檢查等等方面支持都很好。
其他集成開(kāi)發(fā)環(huán)境
其他的我還使用過(guò)的ide工具,如[sublime text 3](sublime text 3)以及LiteIDE,就不詳細(xì)介紹了。
另外,還有我沒(méi)使用過(guò)但聽(tīng)過(guò)的go語(yǔ)言集成開(kāi)發(fā)環(huán)境,Eclipse,Atom,Emacs。
Visual Studio Code的go語(yǔ)言開(kāi)發(fā)環(huán)境搭建
這里主要介紹了windows操作系統(tǒng)的搭建
Visual Studio Code安裝
可以從官網(wǎng)下載Visual Studio Code,注意:下載可能會(huì)很慢
按照指引,點(diǎn)擊下一步
注意選擇以上并且不斷點(diǎn)擊下一步即可完成安裝
go編譯環(huán)境安裝
從go安裝軟件官網(wǎng)下載合適的go編譯環(huán)境,例如本次我下載的版本是go1.20.7.windows-amd64.msi,需要注意的是go語(yǔ)言的鏡像官網(wǎng)不僅僅提供下載,請(qǐng)好好探索一下它,后面的篇章中我還會(huì)詳細(xì)提及它的強(qiáng)大作用。
同意協(xié)議后,選擇安裝路徑,請(qǐng)記住這個(gè)路徑,然后按next完成安裝
配置go環(huán)境變量
右擊電腦,點(diǎn)擊屬性后出現(xiàn)以下頁(yè)面
點(diǎn)擊高級(jí)選項(xiàng),如下點(diǎn)擊
如下點(diǎn)擊新建環(huán)境變量
變量名:GOROOT 變量值:E:\lang\go ,這是go語(yǔ)言的編譯環(huán)境安裝目錄,如上所示。 變量名:GO11MODULE 變量值:on,這是go語(yǔ)言的第三方模塊依賴的。 變量名:GOPROXY 變量名:https://goproxy.cn,direct , 這是go語(yǔ)言的代理,用于能夠正常訪問(wèn)一些Google的go語(yǔ)言的資源。 變量名:GOPATH 變量名:E:\projects 這是go語(yǔ)言的項(xiàng)目位置。
如下圖將%GOROOT%\bin加入path
之后不斷確認(rèn)你打開(kāi)的所有窗口,建議重啟后,使用win+R打開(kāi)cmd輸入以下命令檢查是否正常安裝
go version go version go1.20.7 windows/amd64
安裝go語(yǔ)言插件
在vscode插件市場(chǎng)選擇go語(yǔ)言
安裝完后選擇編輯go語(yǔ)言插件配置
直接在json文件中編輯
如下:
{ "go.gopath": "E:\projects" }
在E:\projects下建立如下文件夾bin,pkg, src
-----+---bin +---pkg +---src
安裝go語(yǔ)言插件的依賴軟件,使用Ctil+Shift+P
選擇安裝所有插件
以下是安裝完的場(chǎng)景
使用golang編程
在E:\projects\src下建立如下文件github.com/Breeze0806/test/main.go
-----+--bin +--pkg +--src--+--github.com--+--Breeze0806--+--test--+--main.go--
另外加入vscode的項(xiàng)目配置,在.vscode/setting.json配置以下項(xiàng)目:
{ "go.formatTool": "goimports", "go.lintOnSave": "package", "go.vetOnSave": "package", "go.useLanguageServer": true, "[go]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": true, }, // Optional: Disable snippets, as they conflict with completion ranking. "editor.snippetSuggestions": "none", }, "[go.mod]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": true, }, }, "gopls": { // Add parameter placeholders when completing a function. "usePlaceholders": true, // If true, enable additional analyses with staticcheck. // Warning: This will significantly increase memory usage. "staticcheck": false, }, "go.languageServerFlags": [ "-rpc.trace", // for more detailed debug logging "serve", "--debug=localhost:6060", // to investigate memory usage, see profiles ], "go.coverOnSave": true, "go.coverOnSingleTest": true, "go.coverOnSingleTestFile": true, "go.coverShowCounts": true, "go.testOnSave": false, "go.testFlags": [], "go.lintTool": "golint" }
在main.go中寫入以下程序
package main func main(){ fmt.Println("Hello") }
使用go mod 命令建立項(xiàng)目
go mod init github.com/Breeze0806/test go mod tidy go run main.go
如圖test目錄下多了go.mod,輸出結(jié)果為Hello
本篇小結(jié)
本篇討論了go語(yǔ)言的當(dāng)前所有的集成開(kāi)發(fā)環(huán)境,并且介紹了Visual Studio Code的windows操作系統(tǒng)下的go語(yǔ)言開(kāi)發(fā)環(huán)境搭建,那么其他操作系統(tǒng)有沒(méi)有辦法搭建?有的,由于樓主使用的windows系統(tǒng),其實(shí)unbuntu或者mac的搭建方式類似。
本文詳細(xì)介紹了如何使用VSCode搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境。首先,我們安裝了VSCode和Go語(yǔ)言插件,并進(jìn)行了必要的配置。接著,我們學(xué)習(xí)了如何創(chuàng)建和管理Go項(xiàng)目,包括使用Go模塊管理依賴項(xiàng)和版本控制工具。然后,我們探索了VSCode的一些強(qiáng)大功能,如代碼自動(dòng)完成、代碼導(dǎo)航和調(diào)試器。此外,我們還介紹了一些常用的Go語(yǔ)言擴(kuò)展和工具,如格式化工具和靜態(tài)代碼分析工具。通過(guò)本文的指導(dǎo),讀者可以快速搭建起高效的Go語(yǔ)言開(kāi)發(fā)環(huán)境,并利用VSCode的豐富功能提升開(kāi)發(fā)效率。無(wú)論是初學(xué)者還是有經(jīng)驗(yàn)的開(kāi)發(fā)者,都可以從本文中獲得實(shí)用的技巧和建議,更好地開(kāi)發(fā)Go語(yǔ)言項(xiàng)目。希望本文對(duì)您有所幫助,祝您編寫愉快的Go代碼!
到此這篇關(guān)于go語(yǔ)言vscode集成開(kāi)發(fā)環(huán)境搭建的文章就介紹到這了,更多相關(guān)vscode搭建go語(yǔ)言開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang中interface轉(zhuǎn)string輸出打印方法
這篇文章主要給大家介紹了關(guān)于Golang中interface轉(zhuǎn)string輸出打印的相關(guān)資料,在go語(yǔ)言中interface轉(zhuǎn)string可以直接使用fmt提供的fmt函數(shù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02Golang算法之田忌賽馬問(wèn)題實(shí)現(xiàn)方法分析
這篇文章主要介紹了Golang算法之田忌賽馬問(wèn)題實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了基于Go語(yǔ)言的田忌賽馬問(wèn)題原理與算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02golang 實(shí)現(xiàn)比特幣內(nèi)核之處理橢圓曲線中的天文數(shù)字
比特幣密碼學(xué)中涉及到的大數(shù)運(yùn)算超出常規(guī)整數(shù)范圍,需使用golang的big包進(jìn)行處理,通過(guò)使用big.Int類型,能有效避免整數(shù)溢出,并保持邏輯正確性,測(cè)試展示了在不同質(zhì)數(shù)模下的運(yùn)算結(jié)果,驗(yàn)證了邏輯的準(zhǔn)確性,此外,探討了費(fèi)馬小定理在有限字段除法運(yùn)算中的應(yīng)用2024-11-11Golang使用Gin框架實(shí)現(xiàn)路由分類處理請(qǐng)求流程詳解
Gin是一個(gè)golang的微框架,封裝比較優(yōu)雅,具有快速靈活,容錯(cuò)方便等特點(diǎn),這篇文章主要介紹了Golang使用Gin框架實(shí)現(xiàn)路由分類處理請(qǐng)求,感興趣的同學(xué)可以參考下文2023-05-05