1.安裝Go 至C:\Program Files\Go下;安裝VScode至任意位置;創建go項目所在文件夾,E:\go,並在該文件夾下創建bin、pkg、src文件夾;bin用於存儲二進制可執行文件,pkg存儲包文件,src存儲項目源碼文件;
2.配置環境變量GOPATH(go項目所在的文件夾)、GOROOT(go語言安裝所在的文件夾);配置系統變量Path()


3、啟動vscode並安裝go插件;

4、配置vscode中go的項目目錄及go語言目錄;



5、設置網絡代理;如果你用的是linux或mac,直接在terminal中運行go env -w GO111MODULE=on和go env -w GOPROXY=https://goproxy.cn,direct,如果你是windows,就是在環境變量里設置GO111MODULE=on和GOPROXY=https://goproxy.cn,direct

6、安裝項目環境必要的包及依賴包;(使用vscode時可省略)
go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/go-find-references go get -u -v github.com/lukehoban/go-outline go get -u -v sourcegraph.com/sqs/goreturns go get -u -v golang.org/x/tools/cmd/gorename go get -u -v github.com/tpng/gopkgs go get -u -v github.com/newhook/go-symbols go get -u -v github.com/zmb3/gogetdoc go get -u -v github.com/cweill/gotests go get -u -v github.com/derekparker/delve/cmd/dlv go get -u -v golang.org/x/tools/cmd/guru go get -u -v github.com/fatih/gomodifytags go get -u -v github.com/haya14busa/goplay/cmd/goplay go get -u -v github.com/josharian/impl go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct go get -u -v golang.org/x/tools/cmd/godoc go get -u -v golang.org/x/tools/cmd/goimports

7、vscode創建項目,編輯項目源文件,進行調試前安裝必要的go調試插件;


安裝創建后出現問題,提示如下內容:
Starting: E:\go\bin\dlv-dap.exe dap --listen=127.0.0.1:65147 from e:\go\src DAP server listening at: 127.0.0.1:65147 Build Error: go build -o e:\go\src\__debug_bin.exe -gcflags all=-N -l . go: go.mod file not found in current directory or any parent directory; see 'go help modules' (exit status 1)

解決方法:

go module是go官方自帶的go依賴管理庫,可將某個項目下的所有依賴整理成一個 go.mod 文件,該文件里面寫入了依賴的版本等;使用 go module 管理依賴后會在項目根目錄下生成兩個文件 go.mod 和 go.sum;之后我們可不用將代碼放置在src下。
windows環境下,cmd進入項目文件夾執行: go mod init example.com/greetings


再次調試程序,出現錯誤:main()重復定義,一個project只能有1個main();
Starting: E:\go\bin\dlv-dap.exe dap --listen=127.0.0.1:54129 from e:\go\src DAP server listening at: 127.0.0.1:54129 Build Error: go build -o e:\go\src\__debug_bin.exe -gcflags all=-N -l . # example.com/greetings .\datatype.go:17:6: main redeclared in this block e:\go\src\constant.go:8:6: previous declaration .\flowControl.go:5:5: bool_0 redeclared in this block e:\go\src\datatype.go:5:5: previous declaration .\flowControl.go:6:5: name redeclared in this block e:\go\src\datatype.go:6:5: previous declaration .\flowControl.go:9:6: main redeclared in this block e:\go\src\datatype.go:17:6: previous declaration .\function.go:19:6: main redeclared in this block e:\go\src\flowControl.go:9:6: previous declaration .\structure.go:37:6: main redeclared in this block e:\go\src\function.go:19:6: previous declaration .\test1.go:5:6: main redeclared in this block e:\go\src\structure.go:37:6: previous declaration .\variable.go:5:5: name redeclared in this block e:\go\src\flowControl.go:6:5: previous declaration .\variable.go:6:5: age redeclared in this block e:\go\src\datatype.go:7:5: previous declaration .\variable.go:10:6: main redeclared in this block e:\go\src\test1.go:5:6: previous declaration .\variable.go:10:6: too many errors (exit status 2)

問題:無法使用vscode調試go程序?
Failed to run "go env" to find GOPATH as the "go" binary cannot be found in either GOROOT() or PATH(C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\)

原因分析:vscode配置未設置系統變量;
解決方法:vscode配置設置系統變量即可;

問題:vscode的終端無法使用go命令?
G:\go\src\main>go version
'go' 不是內部或外部命令,也不是可運行的程序或批處理文件。

原因分析:賬號未設置特權等級。
解決方法:以管理員啟動vscode。

