本文主要內容如下幾點:
- 下載安裝GO
- 配置多個工作區,第一個默認放第三方包,其他的放項目代碼
- 包管理器
godep
的安裝使用 - 安裝過程中的一些坑(牆)
- vscode中使用go
1. 下載並安裝go
官網下載 或者golang中國下載
默認安裝到C:\GO
,使用go version
查看版本:
當前版本為:1.10
2. 新建工作區
- 新建兩個文件夾
DepSource\src:放置go依賴包的源代碼
GoCoding\src:放置自己或者測試項目的代碼目錄 - 將這兩個文件夾的路徑以及對應的bin按順序配置到環境變量
GOPATH
中,新建系統變量GOPATH,然后值為:C:\GoWorks\DepSource;C:\GoWorks\GoCoding;C:\GoWorks\DepSource\bin;C:\GoWorks\GoCoding\bin;
盤符請自行修改 - 將
%GOPATH%
配置到系統變量path
中
在家里面電腦重新配置了下,Go安裝在了D盤,GOPATH配置到了E盤,如下圖所示
- 文件夾
- 環境變量
3. 安裝包管理器godep
3.1 下載
- 獲取godep包:
go get -v github.com/tools/godep
-v 顯示日志輸出 -u 更新到最新版本 - 下載完成后查看
C:\GoWorks\DepSource\bin\godep.exe
是否存在godep.exe,有則安裝成功 - 根據
Godeps\Godeps.json
配置還原依賴包
如果項目中有
Godeps\Godeps.json
,則可以使用godep get
安裝所需依賴包
3.2 生成go項目的依賴配置文件
- 新建一個go項目oneGo(GoCoding\src\oneGO),創建
main.go
文件,並引入一個測試包,並打開cmd到當前路徑package main import ( test "github.com/yimogit/gotest" ) func main() { test.HelloWord() }
- 安裝測試的包:
go get -v github.com/yimogit/gotest
- 構建依賴配置:
godep save
- success,若成功則看到oneGo文件夾下生成了
Godeps,vendor
文件夾 - 運行:
go run main.go
,則控制台輸出Hello Word
- 打包exe則使用
go build -o test.exe
4.在安裝go框架gin的時候會有一些依賴包需要手動安裝一些包
開始執行godep save
構建依賴配置文件,第一次使用這個命令的話會報一堆缺少github.com/*/*
包的錯誤,安裝即可 錯誤圖一覽
當遇到godep: Package (golang.org/x/sys/unix) not found
,即從golang.org下載包失敗的時候(如果你能成功算我沒說),需要改變路徑從GitHub去下載(牆了,然后go在GitHub放了一份~)
具體解決方案為:
在之前設置的GOPATH路徑(C:\GoWorks\DepSource\src)新建golang.org\x
文件夾,然后克隆或者下載sys包
完整命令(自行修改路徑):git clone https://github.com/golang/sys.git C:\GoWorks\DepSource\src\golang.org\x\sys
在安裝過程若出現包下載失敗的情況可以直接使用clone命令下載到github.com文件夾,然后執行go get github.com/x/x
就能夠安裝了
5. vscode中使用需要安裝的依賴包
安裝擴展:vscode-go
安裝依賴:可以根據vscode的提示或者直接安裝下面這些依賴包,更多介紹可參考VsCode中配置GO開發環境
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 github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v github.com/peterh/liner
go get -u -v github.com/derekparker/delve/cmd/dlv