現(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)境依賴(lài)
5、Go Modules的使用
這玩意非常簡(jiǎn)單,我們只需要明白它為什么存在,以及如何用即可
Go mod的存在,是官方強(qiáng)推,為了替代GOPATH而誕生的一個(gè)Go語(yǔ)言依賴(lài)庫(kù)管理器。之前所有的包都丟在GOPATH中,煩skr人
這貨最大的好處就是,我們依賴(lài)的包可以指定版本。
其次所有程序依賴(lài)的包,只會(huì)存在同一份。不會(huì)像npm那樣,同一個(gè)包還能有n多個(gè)存在。這樣我們的電腦就很省空間了
使用起來(lái)也非常簡(jiǎn)單,常用命令就一個(gè)go mod tidy
,通俗來(lái)說(shuō)就是將當(dāng)前的庫(kù)源碼文件所依賴(lài)的包,全部安裝并記錄下來(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
文件是記錄我們依賴(lài)庫(kù)以及版本號(hào)
更多的go mod相關(guān)內(nèi)容,可以自己查找別的Blog了,我這就不過(guò)多介紹了
此時(shí)我們這個(gè)hello
項(xiàng)目,就采用了go mod
進(jìn)行庫(kù)依賴(lài)管理,以后編寫(xiě)完代碼后執(zhí)行go mod tidy
即可,這個(gè)命令會(huì)自動(dòng)下載依賴(lài)的庫(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)文章希望大家以后多多支持腳本之家!
標(biāo)簽:西雙版納 貴陽(yáng) 阿克蘇 德州 太原 調(diào)研邀請(qǐng) 廣西 慶陽(yáng)
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VsCode搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境的配置教程》,本文關(guān)鍵詞 VsCode,搭建,語(yǔ)言,開(kāi)發(fā),環(huán)境,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。