vscode上搭建go開發(fā)環(huán)境詳細(xì)完整過程
前言
Go語言介紹:
Go語言適合用于開發(fā)各種類型的應(yīng)用程序,包括網(wǎng)絡(luò)應(yīng)用、分布式系統(tǒng)、云計(jì)算、大數(shù)據(jù)處理等。由于Go語言具有高效的并發(fā)處理能力和內(nèi)置的網(wǎng)絡(luò)庫,它特別適合構(gòu)建高并發(fā)、高性能的服務(wù)器端應(yīng)用。以下是一些常見的Go語言應(yīng)用開發(fā)領(lǐng)域:
- 網(wǎng)絡(luò)應(yīng)用開發(fā):Go語言的輕量級(jí)線程(goroutine)和通道(channel)機(jī)制使得開發(fā)網(wǎng)絡(luò)應(yīng)用變得更加簡單和高效,例如Web服務(wù)、API開發(fā)和微服務(wù)架構(gòu)。
- 分布式系統(tǒng)開發(fā):Go語言的并發(fā)模型和內(nèi)置的RPC支持使得開發(fā)分布式系統(tǒng)變得更加容易,例如分布式數(shù)據(jù)庫、消息隊(duì)列、集群管理系統(tǒng)等。
- 云計(jì)算和容器技術(shù):Go語言在云計(jì)算和容器技術(shù)領(lǐng)域有廣泛應(yīng)用,例如Kubernetes、Docker等。
- 大數(shù)據(jù)處理:Go語言的高并發(fā)和高性能特性使其適合用于大數(shù)據(jù)處理,例如流式處理、數(shù)據(jù)分析等。
總之,Go語言適合用于構(gòu)建高性能和高并發(fā)的應(yīng)用程序,特別適合用于服務(wù)器端開發(fā)和分布式系統(tǒng)。它的簡潔語法和強(qiáng)大的標(biāo)準(zhǔn)庫使得開發(fā)效率也得到了提高。
VSCode介紹:
VS Code是一款免費(fèi)的開源代碼編輯器,由Microsoft開發(fā)和維護(hù)。它可以在Windows、macOS和Linux等操作系統(tǒng)上運(yùn)行,并支持多種編程語言和擴(kuò)展。你可以免費(fèi)下載和使用VS Code,沒有任何費(fèi)用。
Visual Studio Code 默認(rèn)支持非常多的編程語言,包括 JavaScript、TypeScript、Vue、CSS 和 HTML;也可以通過下載擴(kuò)展支持 Python、C/C++、Java 和 Go 在內(nèi)的其他語言。支持功能包括語法高亮、括號(hào)補(bǔ)全、代碼折疊和代碼片段;對(duì)于部分語言,可以使用 IntelliSense。Visual Studio Code 也支持調(diào)試 Node.js 程序。
一.安裝VsCode與Go插件
Vscode下載地址:https://code.visualstudio.com/download
也可通過360軟件管家直接下載
Go安裝包下載:
在VsCode上安裝Go插件:
安裝好Go和VsCode后,在vscode上搜索go,安裝go插件。
二.使用github下載安裝go的其他插件
2.1 環(huán)境變量:
GoPath環(huán)境變量:用于設(shè)置Go語言的工作空間目錄。(請(qǐng)注意,Go 1.11版本及更高版本引入了Go模塊(Go Modules)的概念,可以在任何目錄下工作,而不需要依賴于GoPath環(huán)境變量)
GOROOT環(huán)境變量:用來指定Go語言的安裝目錄。它應(yīng)該指向你安裝Go語言的根目錄。
2.2 創(chuàng)建目錄:
在環(huán)境變量設(shè)置的目錄下創(chuàng)建src、bin、pkg,在src目錄下創(chuàng)建golang.org/x
進(jìn)入C:\Users\FF\go\src\golang.org\x下,依次執(zhí)行以下命令:
git clone https://github.com/golang/lint.git lint git clone https://github.com/golang/tools.git tools git clone https://github.com/golang/mod.git git clone https://github.com/golang/xerrors.git
(注意:C:\Users\FF\go\src\golang.org\x下應(yīng)該是空目錄,如果有存在與git下載重名目錄,可能會(huì)導(dǎo)致下載失?。?/p>
命令都執(zhí)行成功后,可以看到C:\Users\FF\go\src\golang.org\x下目錄有以下子目錄:
cd切換到src目錄:C:\Users\FF\go\src下,再依次執(zhí)行以下三條命令進(jìn)行安裝:
go install golang.org/x/lint/golint go install golang.org/x/tools/cmd/gorename go install golang.org/x/tools/cmd/guru
接下來按照github.com中的插件:
gocode(要更改名字),命令如下:
go get -u -v github.com/stamblerre/gocode cd …/bin ren gocode.exe gocode-gomod.exe
go get -u -v github.com/mdempsky/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs go get -u -v github.com/ramya-rao-a/go-outline go get -u -v github.com/acroca/go-symbols go get -u -v github.com/josharian/impl
go get -u -v github.com/derekparker/delve/cmd/dlv
或
切換到C:\Users\FF\go\src\github.com,執(zhí)行:
git clone https://github.com/go-delve/delve.git go-delve/delve
切換到C:\Users\FF\go\src,執(zhí)行安裝命令:
go install github.com/go-delve/delve/cmd/dlv go get -u -v github.com/haya14busa/goplay/cmd/goplay
或
切換到C:\Users\FF\go\src\github.com,執(zhí)行:
git clone https://github.com/haya14busa/goplay haya14busa/goplay git clone https://github.com/skratchdot/open-golang.git skratchdot/open-golang
切換到C:\Users\FF\go\src,執(zhí)行安裝命令:
go install github.com/haya14busa/goplay/cmd/goplay go get -u -v github.com/sqs/goreturns
或
切換到C:\Users\FF\go\src\github.com,執(zhí)行:
git clone https://github.com/sqs/goreturns.git sqs/goreturns
切換到C:\Users\FF\go\src,執(zhí)行安裝命令:
go install github.com/sqs/goreturns
go get -u -v github.com/cweill/gotests/… go get -u -v github.com/fatih/gomodifytags go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct go get -u -v github.com/godoctor/godoctor
或
切換到C:\Users\FF\go\src\github.com,執(zhí)行:
git clone https://github.com/godoctor/godoctor.git godoctor/godoctor
切換到C:\Users\FF\go\src,執(zhí)行安裝命令:
go install github.com/godoctor/godoctor
都執(zhí)行成功后,在bin目錄下會(huì)生成以下exe文件(17個(gè)):
三.安裝問題處理
問題1:git clone出現(xiàn)openssl問題
問題處理:
解除ssl驗(yàn)證:
git config --global http.sslVerify false
問題2:go install失敗
問題處理:
go env:
它的值可以為on、off、空,當(dāng)為on或空時(shí),會(huì)開啟模塊支持,將會(huì)忽略GOPATH配置,所以解決方法就是將其改為off,輸入如下命令:go env -w GO111MODULE=“off”
問題3:go install golang.org/x/tools/cmd/guru 失敗
問題處理:git clone https://github.com/golang/sys.git
四.使用VSCode創(chuàng)建go項(xiàng)目
1)創(chuàng)建go項(xiàng)目文件夾
2)創(chuàng)建main.go文件
3)vscode打開go項(xiàng)目文件夾,打開main.go文件,編輯代碼
4)使用以下命令初始化模塊,并下載相關(guān)依賴
go mod init (module-name):
go mod init命令用于初始化當(dāng)前目錄為一個(gè)Go模塊。它會(huì)創(chuàng)建一個(gè)go.mod文件,用于記錄項(xiàng)目的依賴關(guān)系和版本信息。
go mod tidy
#下載依賴。我們需要將依賴下載至本地,而不是使用 go get
go mod download
#導(dǎo)入依賴。此命令會(huì)將剛才下載至 GOPATH 下的依賴轉(zhuǎn)移至該項(xiàng)目根目錄下的 vendor(自動(dòng)新建) 文件夾下, 此時(shí)我們就可以使用這些依賴了
go mod vendor
// 復(fù)制依賴到 vendor 目錄下
使用go build、go run等命令來構(gòu)建和運(yùn)行你的項(xiàng)目了。
VSCode中運(yùn)行g(shù)o程序:
總結(jié)
到此這篇關(guān)于vscode上搭建go開發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)vscode搭建go開發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang自定義開發(fā)Prometheus?exporter詳解
Exporter是基于Prometheus實(shí)施的監(jiān)控系統(tǒng)中重要的組成部分,承擔(dān)數(shù)據(jù)指標(biāo)的采集工作,這篇文章主要為大家介紹了如何自定義編寫開發(fā)?Prometheus?exporter,感興趣的可以了解一下2023-06-06golang提示dial?tcp?172?.217.163.49:443:?connectex:?A?con
這篇文章主要為大家介紹了golang提示dial?tcp?172?.217.163.49:443:?connectex:?A?connection?attempt?failed解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07輕松構(gòu)建Go應(yīng)用的Dockerfile
本文介紹了如何制作一個(gè)用于構(gòu)建和運(yùn)行Go應(yīng)用程序的Docker鏡像的Dockerfile的相關(guān)資料,需要的朋友可以參考下2023-10-10解決golang結(jié)構(gòu)體tag編譯錯(cuò)誤的問題
這篇文章主要介紹了解決golang結(jié)構(gòu)體tag編譯錯(cuò)誤的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05Go語言進(jìn)行多時(shí)區(qū)時(shí)間轉(zhuǎn)換的示例代碼
本文介紹了使用Go語言進(jìn)行多時(shí)區(qū)時(shí)間轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12關(guān)于Golang中for-loop與goroutine的問題詳解
這篇文章主要給大家介紹了關(guān)于Golang中for-loop與goroutine問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用golang具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09Go語言標(biāo)準(zhǔn)錯(cuò)誤error全面解析
Go語言中的錯(cuò)誤處理是通過內(nèi)置的error接口來實(shí)現(xiàn)的,其中errorString和wrapError是兩種常見的錯(cuò)誤類型實(shí)現(xiàn)方式,errorString通過errors.New()方法實(shí)現(xiàn),而wrapError則通過fmt.Errorf()方法實(shí)現(xiàn),支持錯(cuò)誤的嵌套和解析2024-10-10