Go版本:1.14.4
系統:win10
編輯器:VS Code
golang 1.14 版本發佈已有一段時間,搜了一下網上之前的教程都已過時,所以整理了一篇最新的 golang 開發環境搭建教程。
一、下載Go語言安裝包
到官網https://golang.google.cn/dl/下載最新安裝包
二、安裝
點擊下載好的安裝包進行安裝,可修改安裝位置(默認安裝到C盤)
三、配置環境變量
打開環境變量頁面會發現,系統變量的Path中已經自動生成了Go的環境變量,並在用戶變量中生成了GOPATH(用來存放自己寫的Go代碼的地方),但是這個路徑並不是我們想要的,我們要創建自己的工作區
我們來修改它,先修改 用戶變量 Path 內的對應路徑
再修改GOPATH,然後在用戶變量中創建一個 GOROOT 變量(golang的安裝文件夾)
四、打開GoMOD,再配置代理
打開命令行工具,輸入 go version,查看 go 版本
在這裏感謝「七牛雲」爲我們中國區的Golang開發者提供的代理服務
再輸入下面兩條命令,打開GoMOD 和 配置代理
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
做到這幾點後,我們現在就可以打開我們的VsCode(再次感謝七牛雲,從此以後我們再也不用到Github以及Golang.org上clone到本地進行install了)
五、在VScode中安裝GO插件
打開VScode,搜索插件 go,直接安裝
在安裝了Go插件後的VSCode,現在打開go文件後,會自動安裝我們自己的必要的環境依賴
六、安裝相關工具和環境依賴
打開之前定義的 GOPATH 對應的文件夾(E:\GO),新建一個 src 文件夾,在src內新建 hello/hello.go 文件,這時候Go插件會自動彈出提示,要我們安裝必要的環境依賴。
點擊 Update 和 Install All
七、Go Modules的使用
這玩意非常簡單,我們只需要明白它爲什麼存在,以及如何用即可。
Go mod的存在,是官方強推,爲了替代GOPATH而誕生的一個Go語言依賴庫管理器。之前所有的包都丟在GOPATH中,煩skr人。
這貨最大的好處就是,我們依賴的包可以指定版本。其次所有程序依賴的包,只會存在同一份。不會像npm那樣,同一個包還能有n多個存在。這樣我們的電腦就很省空間了,使用起來也非常簡單,常用命令就一個
$ go mod tidy
通俗來說就是將當前的庫源碼文件所依賴的包,全部安裝並記錄下來,多餘的包就刪掉,少了的就自動補上。
實踐操作一下:
進入hello文件夾,打開命令行工具執行以下命令:
$ go mod init
然後就多了一個 go.mod 文件
此時我們的項目就採用了 go mod進行庫依賴管理,以後編寫完代碼後執行 go mod tidy 即可,這個命令會自動下載依賴的庫,也會刪除多餘的庫,更多的使用方式可以執行
go help mod
進行查看。
八、VSCode的Lunch.json配置以及Setting.json配置
具體怎麼進入設置的json文件,老文已經圖文並茂的描繪的很詳細了,我這就不再做過多介紹了
先是你們關心的Debug配置內容:
{
"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的最新配置,因爲我這個配置同時存在了一些別的組件,比如 golangci-lint,這種go語言風格包以及別的組件,所以複製到你們的VSCode中時,有些配置會出現紅色異常,將出現紅色異常的地方直接刪除或者註釋即可。之所以保留給你們,是覺得你們可能有些人也會安裝相關插件使用
{
"editor.wordWrap": "on",
// 如果useLanguageServer設爲true,那麼在編寫代碼時引入本地沒有的package時,會自動下載安裝
// 就是有時候會非常卡,保存go的編碼文件時偶爾會卡死。這點你們自己取捨吧
"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": "填寫GOROOT路徑",
"go.gopath": "填寫GOPATH路徑",
"go.autocompleteUnimportedPackages": true,
"go.formatOnSave": true,
"window.zoomLevel": 0,
"debug.console.fontSize": 16,
"debug.console.lineHeight": 30,
}
結束
參考借鑑文章:VsCode搭建Go語言開發環境的配置教程