網上目前還找不到完整的mac下golang環境配置支持,本人配置成功,現在整理分享出來。
mac最好裝下xcode,好像有依賴關系
安裝Homebrew
打開終端窗口, 粘貼腳本執行
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝go語言最新版,去官網 https://golang.org/dl/ 下載,需要掛科學上網 推薦一個 58jiasu.com 現在有活動 包月2塊錢
安裝vscode,百度一下 打開官網安裝就行了 https://code.visualstudio.com/download
裝好后打開,左側豎着排列一排圖標,點第五個圖標
打開擴展功能,搜索go 這里也要掛科學上網
安裝 lukehoban作者的Go插件 我安裝的時候是排在第二
現在開始配置mac的環境變量
打開終端 建立工作目錄
cd $HOME
mkdir work
加入環境變量
vim ~/.bash_profile
加入
export GOPATH=$HOME/work
export PATH=$PATH:$GOPATH/bin
保存退出 :wq
source ~/.bash_profile
立刻生效
接着安裝IDE支持
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
改用gometalinter 安裝方法在最下面的更新里
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
這些都在終端輸入執行
這個時候還不能debug
安裝debug支持
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
我用的最新版安裝后有問題,需要如下處理
brew install go-delve/delve/delve
然后再來一遍
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
現在差不多就完成了
最后我們啟動調試插件
嚴格按照如下步驟操作
1> 打開"鑰匙串訪問"
2> 打開菜單 鑰匙串訪問/證書助理/創建證書...
3> 名稱: dlv-cert 身份類型: 自簽名證書 證書類型: 代碼簽名 並 選擇"讓我覆蓋這些默認值"
4> 單擊"繼續", 有效期(天數): 365 這里你可以自己修改, 我改為3650
5> 一路繼續下去, 直到看到"指定用於該證書的位置" 鑰匙串 選擇 "系統" 並單擊"創建"按鈕
6> 重啟系統之后, 再打開"鑰匙串訪問", 選擇"系統", 就會看到創建好的"dlv-cert"證書.
7> 右鍵"dlv-cert"證書, 選擇"顯示簡介"->"信任"->"代碼簽名" 修改為: 始終信任
8> 打開終端然后cd命令進入之前你安裝好的"GOPATH/src目錄下的dlv源碼文件目錄:github.com/derekparker/delve"
9> 輸入如下命令: GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install 這樣就可以重新編譯出一個帶有代碼簽名的dlv執行程序
重啟電腦,可以愉快的玩耍了
最后還是要提醒 需要全程科學上網 推薦 58jiasu.com 現在有活動很便宜 只要2塊錢包月
11月27 更新:
vs code提示安裝gometalinter
$ go get github.com/alecthomas/gometalinter
$ gometalinter --install --update
這個工具基本上集成了目前市場上所有的檢測工具,然后可以並發的幫你靜態分析你的代碼:
-
go vet — Reports potential errors that otherwise compile.
-
go vet — shadow — Reports variables that may have been unintentionally shadowed.
-
gotype — Syntactic and semantic analysis similar to the Go compiler.
-
deadcode — Finds unused code.
-
gocyclo — Computes the cyclomatic complexity of functions.
-
golint — Google’s (mostly stylistic) linter.
-
defercheck — Checks for duplicate defer calls.
-
varcheck — Find unused global variables and constants.
-
structcheck — Find unused struct fields.
-
errcheck — Check that error return values are used.
-
dupl — Reports potentially duplicated code.
這些是目前集成的工具。使用方法請自行百度