mac上安裝go環境
一、安裝Homebrew
安裝命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew的使用:
(1)安裝軟體:brew install 軟體名,例如:brew install wget
(2)搜尋軟體:brew search 軟體名
(3)解除安裝軟體:brew uninstall 軟體名
(4)更新軟體:brew upgrade 軟體名,例如:brew upgrade git
(5)檢視使用brew已安裝的軟體列表:brew list
(6)檢視軟體資訊:brew info /home 軟體名,例如:brew info git/brew home git
(7)檢視哪些已安裝的程式需要更新:brew outdated
brew安裝好之後可以使用上述的一些命令來測試一下是否安裝成功,例如使用brew list來檢視一下當前brew安裝的軟體列表
二、使用brew安裝go
1、安裝命令:
brew install go
2、檢查:
輸入brew info go或者go env即可檢視當前安裝的golang版本資訊
3、配置go路徑環境
主要是GOROOT和GOPATH
GOROOT:就是go的安裝環境
GOPATH:作為編譯後二進位制的存放目的地和import包時的搜尋路徑。其實說通俗點就是你的go專案工作目錄。通常情況下GOPATH包含三個目錄:bin、pkg、src。
src目錄下主要存放go的原始檔
pkg目錄存放編譯好的庫檔案,主要是*.a檔案;
bin目錄主要存放可執行檔案
注意:千萬不要把GOPATH設定成go的安裝路徑,可以自己在使用者目錄下建立一個目錄,例如mygo
一般安裝好go之後,使用go env檢視一下當前環境。此時顯示出來的GOROOT就是你使用brew安裝go的安裝目錄,這個路徑要記下來。接下來要在bash_profile檔案中進行配置。
使用vim ~/.bash_profile
然後在這個檔案中進行編輯,下面以我的電腦為例,路徑這種要根據不同人的情況而定
GOROOT=/usr/local/Cellar/go/1.10.1/libexec
export GOROOT
export GOPATH=/Users/jiangqiaowei/mygo
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN:$GOROOT/bin
GOROOT: go安裝目錄
GOPATH:go工作目錄
GOBIN:go可執行檔案目錄
PATH:將go可執行檔案加入PATH中,使GO命令與我們編寫的GO應用可以全域性呼叫
編輯完之後退出儲存檔案,然後使用
source ~/.bash_profile
使之生效,然後再使用go env檢視當前環境,可以發現已經是你配置檔案中設定的路徑環境了
三、安裝IDE:Goland
百度搜Goland,去官網下就行。啟用碼可以去淘寶上購買
四、測試環境是否配置成功
在設定的工作目錄下,也就是GOPATH的路徑下,使用Goland建立一個工程也好,或者直接在這個路徑下建立一個.go檔案也好,進行測試。在測試時,一定要注意以下幾點:
(1)注意在執行單個的go檔案時,package一定要是main才行,否則會報錯“go run : cannot run non-main package”,導致無法執行
(2)import fmt沒有用雙引號“”包裹名稱。import包名必須帶引號,多個包名可以使用多次import,也可以將包名用引號括起來後,用換行符連線,然後在最外層包裹圓括號。
(3)對go run/ go install/ go build等的理解和使用
(4)import不能引用程式碼中沒有使用的包,否則編譯時會報錯“imported and not used: xxx”
(5)“{”必須緊跟程式碼,不能在新行中出現
(6)main作為程式入口,不能攜帶引數,命令列引數使用os.Args變數獲取
五、補充:go run/ go install/ go build / go get的區別
go run 運行當個.go檔案
go install 在編譯原始碼之後還安裝到指定的目錄
go build 加上可編譯的go原始檔可以得到一個可執行檔案
go get = git clone + go install 從指定源上面下載或者更新指定的程式碼和依賴,並對他們進行編譯和安裝
---------------------
作者:小拳頭
來源:CSDN
原文:https://blog.csdn.net/xiaoquantouer/article/details/79985650?utm_source=copy