這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
1.下載SDK
到https://golang.org下載對應的SDK(需要翻牆)
Mac版本如下:
1.1 安裝版:go1.8.darwin-arm64.pkg
下載完成之後,直接雙擊開啟安裝即可
1.2 壓縮版:go1.8.darwin-arm64.tar
下載完成後需要解壓,然後自己移動到要存放的路徑下,並且配置環境變數等資訊。
2.安裝Go環境
選擇1.8版本的安裝版,雙擊安裝。安裝完成後,開啟terminal ,輸入如下命令,查看安裝的版本:
go version
3.配置環境變數
開啟terminal
3.1 cd ~
進入使用者主目錄,
3.2 ls -all
查看是否存在.bash_profile
3.3 vim .bash_profile
開啟並編輯該檔案
3.4 根據自己的實際情況配置路徑,我配置到了外置硬碟中
export GOPATH=/Volumes/gnhxsk/mygoexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOBIN
- GOPATH:日常開發的根目錄,Go從1.1版本到1.7版本必須設定這個變數,而且不能和Go的安裝目錄一樣,這個目錄用來存放Go源碼,Go的可運行檔案,以及相應的編譯之後的包檔案。所以,這個目錄下面有三個子目錄:src、bin、pkg
src 存放原始碼(比如:.go .c .h .s等)
pkg 編譯後產生的檔案(比如:.a)
bin 編譯後產生的可執行檔(為了方便,可以把此目錄加入到$PATH變數中,如果有多個gopath,那麼使用${GOPATH//://bin:}/bin
)
- GOBIN:是GOPATH下的bin目錄
- PATH:環境變數。需要gobin目錄加入到path路徑下,產生可執行檔就可以直接運行了。
3.5 退出vim,執行下面的命令完成對golang環境變數的配置。source ~/.bash_profile
3.6 go env
查看配置後的效果4.Hellow World
src目錄是開發程式的主要目錄,所有的源碼是放在這個目錄下面。
例如:$GOPATH/src/mymath表示mymath這個應用程式套件或者可執行應用,這個是根據package是main還是其他來決定,main的話是可執行應用,其他的話就是應用程式套件.
4.1 執行如下代碼,在src檔案夾下建立mymath檔案夾cd $GOPATH/srcmkdir mymath
4.2 建立檔案sqrt.gopackage mymathfunc Sqrt(x float64) float64{ z := 0.0 for i := 0; i < 1000; i ++{ z -= (z * z - x) / (2 * x) } return z}
4.3 編譯應用
4.3.1 進入對應的應用程式套件目錄。然後執行go install
,安裝
4.3.2 在任意目錄下執行go install mymath
,安裝
安裝完成之後,可以進入如下目錄,查看應用程式套件cd $GOPATH/pkg/${GOOS}_${GOARCH}lsmymath.a
4.4 調用應用程式套件
4.4.1 建立應用程式套件cd $GOPATH/srcmkdir mathappcd mathappvim mian.go
main.go源碼:package mainimport( "mymath" "fmt")func main(){ fmt.Printf("Hello,world. Sqrt(2) = %v\n",mymath.Sqrt(2))}
4.4.2 編譯器
進入該應用目錄,然後執行go build
,那麼在該目錄下面會產生一個mathapp的可執行檔./mathapp
輸出如下內容Hello,world. Sqrt(2) = 1.414213562373095
4.4.3 安裝該應用
進入該目錄執行go install
,那麼在$GOPATH/bin
下增加了一個可執行檔mathapp,在terminal中輸入如下命令可以執行mathapp
也可以輸出如下內容Hello,world. Sqrt(2) = 1.414213562373095
5.安裝VS Code
5.1 到https://code.visualstudio.com下載Visual Studio Code,直接使用
5.2 安裝Go外掛程式
5.2.1 點擊右邊的Extensions表徵圖,搜尋Go外掛程式,選擇Go進行安裝,安裝之後,系統會提示重啟Visual Studio Code
螢幕快照 2017-03-24 11.47.24.png
5.2.2 可以開啟自動儲存功能。開啟方法:選擇菜單File,勾選
5.2.3 使用者佈建
在頂部菜單選擇Code->喜好設定->設定{ "files.autoSave": "off", "go.buildOnSave": true, "go.lintOnSave": true, "go.vetOnSave": true, "go.buildFlags": [], "go.lintFlags": [], "go.vetFlags": [], "go.coverOnSave": false, "go.useCodeSnippetsOnFunctionSuggest": false, "go.formatOnSave": true, "go.formatTool": "goreturns", "go.goroot": "/usr/local/go",// 你的Goroot "go.gopath": "/Volumes/gnhxsk/mygo",// 你的Gopath}
5.2.4 安裝依賴包支援
- 自動安裝:選擇一個.go檔案拖進入VS Code,然後VS Code會提示你安裝依賴包,選擇install all即可
- 手動安裝:開啟terminal,執行以下命令
go get -u -v github.com/nsf/gocodego get -u -v github.com/rogpeppe/godefgo get -u -v github.com/zmb3/gogetdocgo get -u -v github.com/golang/lint/golintgo get -u -v github.com/lukehoban/go-outlinego get -u -v sourcegraph.com/sqs/goreturnsgo get -u -v golang.org/x/tools/cmd/gorenamego get -u -v github.com/tpng/gopkgsgo get -u -v github.com/newhook/go-symbolsgo get -u -v golang.org/x/tools/cmd/gurugo get -u -v github.com/cweill/gotests/...
5.2.5 Visual Studio Code支援Go語言調試
執行以下命令:go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlvbrew install go-delve/delve/delvego get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
修改“dlv-cert”認證
1.開啟“鑰匙串訪問”
2.開啟菜單->鑰匙串訪問->認證助理->建立認證
3.名稱:dIv 身份類型:自我簽署憑證 認證類型:程式碼簽署 並選擇“讓我覆蓋這些預設值”
4.單擊“繼續”,有限期(天數):365,可以自己修改,3650
5.一直繼續,直到看到“指定用於該認證的位置”鑰匙串,選擇“系統”並單擊“建立”按鈕
6.重啟Finder,再開啟“鑰匙串訪問”,選擇“系統”,就會看到建立好的“dlv-cert”認證
7.右鍵"dlv-cert"認證,選擇“顯示簡介->信任->程式碼簽署”修改為:始終信任
8.開啟terminal,進入到之前安裝好的$GOPATH/src
目錄下的dlv源碼檔案目錄:github.com/derekparker/delve
9.輸入如下命令就可以重新編譯出一個帶程式碼簽署的dlv執行程式
GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install
可能會遇到的問題
The execution file "./dlv -h" always return >> killed:9
stackoverflow解決方式:
I need to do this step belowbrew install go-delve/delve/delveand go to $GOPATH/src/github.com/derekparkergit clone https://github.com/derekparker/delve.gitCERT=dlv-cert make install(remove old dlv > brew install delve > codesign dlv)not just rungo get github.com/derekparker/delve/cmd/dlvand it works now.
重啟Visual Studio Code,就可以完美使用了。推薦外掛程式:vscode-icons