vscode上搭建go開(kāi)發(fā)環(huán)境詳細(xì)完整過(guò)程
前言
Go語(yǔ)言介紹:
Go語(yǔ)言適合用于開(kāi)發(fā)各種類(lèi)型的應(yīng)用程序,包括網(wǎng)絡(luò)應(yīng)用、分布式系統(tǒng)、云計(jì)算、大數(shù)據(jù)處理等。由于Go語(yǔ)言具有高效的并發(fā)處理能力和內(nèi)置的網(wǎng)絡(luò)庫(kù),它特別適合構(gòu)建高并發(fā)、高性能的服務(wù)器端應(yīng)用。以下是一些常見(jiàn)的Go語(yǔ)言應(yīng)用開(kāi)發(fā)領(lǐng)域:
- 網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā):Go語(yǔ)言的輕量級(jí)線(xiàn)程(goroutine)和通道(channel)機(jī)制使得開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用變得更加簡(jiǎn)單和高效,例如Web服務(wù)、API開(kāi)發(fā)和微服務(wù)架構(gòu)。
- 分布式系統(tǒng)開(kāi)發(fā):Go語(yǔ)言的并發(fā)模型和內(nèi)置的RPC支持使得開(kāi)發(fā)分布式系統(tǒng)變得更加容易,例如分布式數(shù)據(jù)庫(kù)、消息隊(duì)列、集群管理系統(tǒng)等。
- 云計(jì)算和容器技術(shù):Go語(yǔ)言在云計(jì)算和容器技術(shù)領(lǐng)域有廣泛應(yīng)用,例如Kubernetes、Docker等。
- 大數(shù)據(jù)處理:Go語(yǔ)言的高并發(fā)和高性能特性使其適合用于大數(shù)據(jù)處理,例如流式處理、數(shù)據(jù)分析等。
總之,Go語(yǔ)言適合用于構(gòu)建高性能和高并發(fā)的應(yīng)用程序,特別適合用于服務(wù)器端開(kāi)發(fā)和分布式系統(tǒng)。它的簡(jiǎn)潔語(yǔ)法和強(qiáng)大的標(biāo)準(zhǔn)庫(kù)使得開(kāi)發(fā)效率也得到了提高。
VSCode介紹:
VS Code是一款免費(fèi)的開(kāi)源代碼編輯器,由Microsoft開(kāi)發(fā)和維護(hù)。它可以在Windows、macOS和Linux等操作系統(tǒng)上運(yùn)行,并支持多種編程語(yǔ)言和擴(kuò)展。你可以免費(fèi)下載和使用VS Code,沒(méi)有任何費(fèi)用。
Visual Studio Code 默認(rèn)支持非常多的編程語(yǔ)言,包括 JavaScript、TypeScript、Vue、CSS 和 HTML;也可以通過(guò)下載擴(kuò)展支持 Python、C/C++、Java 和 Go 在內(nèi)的其他語(yǔ)言。支持功能包括語(yǔ)法高亮、括號(hào)補(bǔ)全、代碼折疊和代碼片段;對(duì)于部分語(yǔ)言,可以使用 IntelliSense。Visual Studio Code 也支持調(diào)試 Node.js 程序。
一.安裝VsCode與Go插件
Vscode下載地址:https://code.visualstudio.com/download
也可通過(guò)360軟件管家直接下載
Go安裝包下載:
在VsCode上安裝Go插件:
安裝好Go和VsCode后,在vscode上搜索go,安裝go插件。

二.使用github下載安裝go的其他插件
2.1 環(huán)境變量:
GoPath環(huán)境變量:用于設(shè)置Go語(yǔ)言的工作空間目錄。(請(qǐng)注意,Go 1.11版本及更高版本引入了Go模塊(Go Modules)的概念,可以在任何目錄下工作,而不需要依賴(lài)于GoPath環(huán)境變量)
GOROOT環(huán)境變量:用來(lái)指定Go語(yǔ)言的安裝目錄。它應(yīng)該指向你安裝Go語(yǔ)言的根目錄。
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)致下載失敗)
命令都執(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
接下來(lái)按照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è)):


三.安裝問(wèn)題處理
問(wèn)題1:git clone出現(xiàn)openssl問(wèn)題

問(wèn)題處理:
解除ssl驗(yàn)證:
git config --global http.sslVerify false
問(wèn)題2:go install失敗

問(wèn)題處理:
go env:

它的值可以為on、off、空,當(dāng)為on或空時(shí),會(huì)開(kāi)啟模塊支持,將會(huì)忽略GOPATH配置,所以解決方法就是將其改為off,輸入如下命令:go env -w GO111MODULE=“off”
問(wèn)題3:go install golang.org/x/tools/cmd/guru 失敗

問(wèn)題處理: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打開(kāi)go項(xiàng)目文件夾,打開(kāi)main.go文件,編輯代碼
4)使用以下命令初始化模塊,并下載相關(guān)依賴(lài)
go mod init (module-name):
go mod init命令用于初始化當(dāng)前目錄為一個(gè)Go模塊。它會(huì)創(chuàng)建一個(gè)go.mod文件,用于記錄項(xiàng)目的依賴(lài)關(guān)系和版本信息。
go mod tidy
#下載依賴(lài)。我們需要將依賴(lài)下載至本地,而不是使用 go get
go mod download
#導(dǎo)入依賴(lài)。此命令會(huì)將剛才下載至 GOPATH 下的依賴(lài)轉(zhuǎn)移至該項(xiàng)目根目錄下的 vendor(自動(dòng)新建) 文件夾下, 此時(shí)我們就可以使用這些依賴(lài)了
go mod vendor
// 復(fù)制依賴(lài)到 vendor 目錄下
使用go build、go run等命令來(lái)構(gòu)建和運(yùn)行你的項(xiàng)目了。
VSCode中運(yùn)行g(shù)o程序:

總結(jié)
到此這篇關(guān)于vscode上搭建go開(kāi)發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)vscode搭建go開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang自定義開(kāi)發(fā)Prometheus?exporter詳解
Exporter是基于Prometheus實(shí)施的監(jiān)控系統(tǒng)中重要的組成部分,承擔(dān)數(shù)據(jù)指標(biāo)的采集工作,這篇文章主要為大家介紹了如何自定義編寫(xiě)開(kāi)發(fā)?Prometheus?exporter,感興趣的可以了解一下2023-06-06
golang提示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ò)誤的問(wèn)題
這篇文章主要介紹了解決golang結(jié)構(gòu)體tag編譯錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05
Go語(yǔ)言進(jìn)行多時(shí)區(qū)時(shí)間轉(zhuǎn)換的示例代碼
本文介紹了使用Go語(yǔ)言進(jìn)行多時(shí)區(qū)時(shí)間轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
關(guān)于Golang中for-loop與goroutine的問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于Golang中for-loop與goroutine問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用golang具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
Go語(yǔ)言標(biāo)準(zhǔn)錯(cuò)誤error全面解析
Go語(yǔ)言中的錯(cuò)誤處理是通過(guò)內(nèi)置的error接口來(lái)實(shí)現(xiàn)的,其中errorString和wrapError是兩種常見(jiàn)的錯(cuò)誤類(lèi)型實(shí)現(xiàn)方式,errorString通過(guò)errors.New()方法實(shí)現(xiàn),而wrapError則通過(guò)fmt.Errorf()方法實(shí)現(xiàn),支持錯(cuò)誤的嵌套和解析2024-10-10
golang并發(fā)安全及讀寫(xiě)互斥鎖的示例分析
這篇文章主要為大家介紹了golang并發(fā)安全及讀寫(xiě)互斥鎖的示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04

