VsCode搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境的配置教程
現(xiàn)在Go1.14都已經(jīng)發(fā)布好些日子了,之前發(fā)的Go環(huán)境搭建教程早已過(guò)時(shí),只是因?yàn)闀r(shí)間問(wèn)題一直沒(méi)來(lái)得及更新
這次懷著愧疚的心情,在凌晨四點(diǎn)時(shí),將這教程進(jìn)行一個(gè)更新
注意:本教程最大的好處是不需要梯子。 直接在墻內(nèi)可進(jìn)行一切操作,文章寫(xiě)給純小白的,部分Linux常識(shí)解釋的過(guò)多,熟悉的人請(qǐng)略過(guò)
Go的安裝
安裝基本還是之前的老樣子,不過(guò)現(xiàn)在的安裝早已省事不少,不再需要配置環(huán)境變量。直接去官網(wǎng),下載了安裝包后直接安裝即可
在Go中文網(wǎng)進(jìn)行Go最新版安裝包的下載(或者復(fù)制網(wǎng)址瀏覽器打開(kāi)https://studygolang.com/dl)
不管是Windows還是MacOS都是非常簡(jiǎn)單快捷,將安裝包下載好后直接一步到位next即可
Linux下的安裝,就是將下載的Linux安裝包中的go文件夾,解壓到/usr/local路徑即可
在控制臺(tái)輸入go version,如果顯示了版本號(hào),即代表安裝成功
Go環(huán)境變量的配置
安裝成功后,環(huán)境變量的配置也沒(méi)有以前那么麻煩
僅需要幾步操作即可
1、設(shè)置GOPATH路徑(GOPATH路徑是我們的工作區(qū))
go env -w GOPATH=我們自己的工作區(qū)路徑
例如我的就設(shè)為 /Users/naonao/go
2、什么都別管,先打開(kāi)GoMOD,再配置代理
在這里感謝「七牛云」為我們中國(guó)區(qū)的Golang開(kāi)發(fā)者提供的代理服務(wù)
$ go env -w GO111MODULE=on $ go env -w GOPROXY=https://goproxy.cn,direct
做到這2點(diǎn)后,我們現(xiàn)在就可以打開(kāi)我們的VsCode(再次感謝七牛云,從此以后我們?cè)僖膊挥玫紾ithub以及Golang.org上clone到本地進(jìn)行install了)
3、在VSCode中安裝Go插件
進(jìn)入Extensions后直接搜索go,即可安裝

4、在我們的$GOPATH/src目錄下,創(chuàng)建一個(gè)hello/hello.go文件,并且用VSCode打開(kāi)
($GOPATH是指我們剛剛配置的環(huán)境變量。比如上面配置的環(huán)境變量位置為/Users/naonao/go,即$GOPATH就是指/Users/naonao/go這個(gè)路徑。那么$GOPATH/src就是指/Users/naonao/go/src目錄)
在安裝了Go插件后的VsCode,現(xiàn)在打開(kāi)go文件后,會(huì)自動(dòng)安裝我們自己的必要的環(huán)境依賴
5、Go Modules的使用
這玩意非常簡(jiǎn)單,我們只需要明白它為什么存在,以及如何用即可
Go mod的存在,是官方強(qiáng)推,為了替代GOPATH而誕生的一個(gè)Go語(yǔ)言依賴庫(kù)管理器。之前所有的包都丟在GOPATH中,煩skr人
這貨最大的好處就是,我們依賴的包可以指定版本。
其次所有程序依賴的包,只會(huì)存在同一份。不會(huì)像npm那樣,同一個(gè)包還能有n多個(gè)存在。這樣我們的電腦就很省空間了
使用起來(lái)也非常簡(jiǎn)單,常用命令就一個(gè)go mod tidy,通俗來(lái)說(shuō)就是將當(dāng)前的庫(kù)源碼文件所依賴的包,全部安裝并記錄下來(lái),多的包就刪掉,少了的就自動(dòng)補(bǔ)上
我們來(lái)實(shí)踐操作下
進(jìn)入我們的hello文件夾,并且執(zhí)行go mod init即可
$ cd $GOPATH/src/hello $ go mod init
可以看到多出了一個(gè)go.mod文件和go.sum文件
go.mod文件是記錄我們依賴庫(kù)以及版本號(hào)

更多的go mod相關(guān)內(nèi)容,可以自己查找別的Blog了,我這就不過(guò)多介紹了
此時(shí)我們這個(gè)hello項(xiàng)目,就采用了go mod進(jìn)行庫(kù)依賴管理,以后編寫(xiě)完代碼后執(zhí)行go mod tidy即可,這個(gè)命令會(huì)自動(dòng)下載依賴的庫(kù),也會(huì)刪除多余的庫(kù)
更多的使用方式可以執(zhí)行go help mod進(jìn)行查看
VSCode的Lunch.json配置以及Setting.json配置
具體怎么進(jìn)入設(shè)置的json文件,老文已經(jīng)圖文并茂的描繪的很詳細(xì)了,我這就不再做過(guò)多介紹了
先是你們關(guān)心的Debug配置內(nèi)容
{
"version": "0.2.0",
"configurations": [{
"name": "LaunchGo",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {
"GOPATH": "填自己的GOPATH路徑",
"GOROOT": "填自己的GOROOT路徑"
},
"args": [],
//"showLog": true
}
]
}
以下是Setting.json的最新配置,因?yàn)槲疫@個(gè)配置同時(shí)存在了一些別的組件,比如golangci-lint這種go語(yǔ)言風(fēng)格包以及別的組件,所以復(fù)制到你們的VSCode中時(shí),有些配置會(huì)出現(xiàn)紅色異常
將出現(xiàn)紅色異常的地方直接刪除或者注釋即可。之所以保留給你們,是覺(jué)得你們可能有些人也會(huì)安裝相關(guān)插件使用
{
"editor.wordWrap": "on",
// 如果useLanguageServer設(shè)為true,那么在編寫(xiě)代碼時(shí)引入本地沒(méi)有的package時(shí),會(huì)自動(dòng)下載安裝
// 就是有時(shí)候會(huì)非???,保存go的編碼文件時(shí)偶爾會(huì)卡死。這點(diǎn)你們自己取舍吧
"go.useLanguageServer": false,
"editor.minimap.renderCharacters": false,
"editor.minimap.enabled": false,
"terminal.external.osxExec": "iTerm.app",
"go.docsTool": "gogetdoc",
"go.testFlags": ["-v","-count=1"],
"go.buildTags": "",
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatTool": "goreturns",
"go.gocodeAutoBuild": false,
"go.goroot": "填寫(xiě)GOROOT路徑",
"go.gopath": "填寫(xiě)GOPATH路徑",
"go.autocompleteUnimportedPackages": true,
"go.formatOnSave": true,
"window.zoomLevel": 0,
"debug.console.fontSize": 16,
"debug.console.lineHeight": 30,
}
總結(jié)
到此這篇關(guān)于VsCode搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境的配置教程的文章就介紹到這了,更多相關(guān)VsCode搭建go開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 手把手教你vscode配置golang開(kāi)發(fā)環(huán)境的步驟
- vscode上搭建go開(kāi)發(fā)環(huán)境詳細(xì)完整過(guò)程
- VS Code配置Go語(yǔ)言開(kāi)發(fā)環(huán)境的詳細(xì)教程
- 使用VSCODE配置GO語(yǔ)言開(kāi)發(fā)環(huán)境的完整步驟
- VSCode搭建Django開(kāi)發(fā)環(huán)境的圖文步驟
- vscode配置go開(kāi)發(fā)環(huán)境的實(shí)戰(zhàn)過(guò)程
- vscode搭建go開(kāi)發(fā)環(huán)境案例詳解
- 在VS Code中配置Go開(kāi)發(fā)環(huán)境的完整過(guò)程
相關(guān)文章
利用Go語(yǔ)言開(kāi)發(fā)文件操作工具輕松處理所有文件
在后端開(kāi)發(fā)中,文件操作是一個(gè)非常常見(jiàn)但又容易出錯(cuò)的場(chǎng)景,本文小編要向大家介紹一個(gè)強(qiáng)大的 Go 語(yǔ)言文件操作工具庫(kù),它能幫你輕松處理各種文件操作場(chǎng)景2025-03-03
Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法小結(jié)
這篇文章主要給大家介紹了Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的兩種方法,分別是在for循環(huán)的range中以及在函數(shù)的參數(shù)傳遞中實(shí)現(xiàn),有需要的朋友們可以根據(jù)自己的需要選擇使用。下面來(lái)一起看看吧。2016-10-10
在Golang中使用http.FileServer返回靜態(tài)文件的操作
這篇文章主要介紹了在Golang中使用http.FileServer返回靜態(tài)文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
go mutex互斥鎖使用Lock和Unlock方法占有釋放資源
Go號(hào)稱是為了高并發(fā)而生的,在高并發(fā)場(chǎng)景下,勢(shì)必會(huì)涉及到對(duì)公共資源的競(jìng)爭(zhēng),當(dāng)對(duì)應(yīng)場(chǎng)景發(fā)生時(shí),我們經(jīng)常會(huì)使用 mutex 的 Lock() 和 Unlock() 方法來(lái)占有或釋放資源,雖然調(diào)用簡(jiǎn)單,但 mutex 的內(nèi)部卻涉及挺多的,本文來(lái)好好研究一下2023-09-09
golang如何部署到服務(wù)器及應(yīng)注意問(wèn)題解析
這篇文章主要為大家介紹了golang如何部署到服務(wù)器及應(yīng)注意問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
go?doudou開(kāi)發(fā)gRPC服務(wù)快速上手實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了go?doudou開(kāi)發(fā)gRPC服務(wù)快速上手實(shí)現(xiàn)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Golang項(xiàng)目搭配nginx部署反向代理負(fù)載均衡講解
這篇文章主要為大家介紹了Golang項(xiàng)目搭配nginx部署正反向代理負(fù)載均衡講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
golang gorm 結(jié)構(gòu)體的表字段缺省值設(shè)置方式
這篇文章主要介紹了golang gorm 結(jié)構(gòu)體的表字段缺省值設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12

