Golang也就是Go語言,現(xiàn)在已經(jīng)發(fā)行到1.4.1版本了,語言特性優(yōu)越性和背后Google強(qiáng)大靠山什么的就不多說了。Golang的官方提供了多個(gè)平臺(tái)上的二進(jìn)制安裝包,遺憾的是并非沒有發(fā)布ARM平臺(tái)的二進(jìn)制安裝包。ARM平臺(tái)沒辦法直接從官網(wǎng)下載二進(jìn)制安裝包來安裝,好在Golang是支持多平臺(tái)并且開源的語言,因此可以通過直接在ARM平臺(tái)上編譯源代碼來安裝。整個(gè)過程主要包括編譯工具配置、獲取Golang源代碼、設(shè)置Golang編譯環(huán)境變量、編譯、配置Golang行環(huán)境變量等步驟。
創(chuàng)新互聯(lián)是一家集成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)站頁面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡(luò)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
注:本文選用樹莓派做測試,因?yàn)闃漭墒腔贏RM平臺(tái)的。
1、編譯工具配置
據(jù)說下個(gè)版本的golang編譯工具要使用golang自己來寫,但目前還是使用C編譯工具的。因此,首先要配置好C編譯工具:
1.1 在Ubuntu或Debian平臺(tái)上可以使用sudo apt-get install gcc libc6-dev命令安裝,樹莓派的RaspBian系統(tǒng)是基于Debian修改的,所以可以使用這種方法安裝。
1.2 在RedHat或CentOS 6平臺(tái)上可以使用sudo yum install gcc libc-devel命令安裝。
安裝完成后可以輸入 gcc --version命令驗(yàn)證是否成功安裝。
2、獲取golang源代碼
2.1 直接從官網(wǎng)下載源代碼壓縮包。
golang官網(wǎng)提供golang的源代碼壓縮包,可以直接下載,最新的1.4.1版本源代碼鏈接:
2.2 使用git工具獲取。
golang使用git版本管理工具,也可以使用git獲取golang源代碼。推薦使用這個(gè)方法,因?yàn)橐院罂梢噪S時(shí)獲取最新的golang源代碼。
2.2.1 首先確認(rèn)ARM平臺(tái)上已經(jīng)安裝了git工具,可以使用git --version命令確認(rèn)。一般linux平臺(tái)都安裝了git,沒有的話可以自行安裝,不同平臺(tái)的安裝方法可以參考:
2.2.2 克隆遠(yuǎn)程golang的git倉庫到本地
在終端cd到你想要安裝golang的目錄,確保該目錄下沒有名為go的目錄。然后以下命令獲取代碼倉庫:
git clone
大陸地區(qū)可能會(huì)獲取失敗,在不翻墻的情況下我試了幾次都沒成功,原因大家都懂的。好在google已經(jīng)將golang也托管到github上面,所以也可以通過下面命令獲取:
git clone
視網(wǎng)絡(luò)情況,下載可能需要不少時(shí)間。我2M的帶寬花了將近兩個(gè)小時(shí)才下載完,雖然整個(gè)項(xiàng)目不過幾十兆= =
下載完成后,可以看到目錄下多了一個(gè)go目錄,里面即為golang的源代碼,在終端上執(zhí)行cd go命令進(jìn)入該目錄。
執(zhí)行下面命令檢出go1.4.1版本的源代碼,因?yàn)楝F(xiàn)在已經(jīng)有新的代碼提交上去了,最新的代碼可能不是最穩(wěn)定的:
git checkout go1.4.1
至此,最新1.4.1發(fā)行版的源代碼獲取完畢
3、設(shè)置golang的編譯環(huán)境變量
主要有GOROOT、GOOS、GOARCH、GOARM四個(gè)環(huán)境變量需要設(shè)置,先解釋四個(gè)環(huán)境變量的意義。
3.1 GOROOT
主要代表golang樹結(jié)構(gòu)目錄的路徑,也就是上面git檢出的go目錄。一般可以不用設(shè)置這個(gè)環(huán)境變量,因?yàn)榫幾g的時(shí)候默認(rèn)會(huì)以go目錄下src子目錄中的all.bash腳本運(yùn)行時(shí)的父目錄作為GOROOT的值。為了保險(xiǎn)起見,可以直接設(shè)置為go目錄的路徑。
3.2 GOOS和GOARCH
分別代表編譯的目標(biāo)系統(tǒng)和平臺(tái),可選值如下:
GOOS GOARCH
darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
需要注意的是這兩個(gè)值代表的是目標(biāo)系統(tǒng)和平臺(tái),而不是編譯源代碼的系統(tǒng)和平臺(tái)。樹莓派的RaspBian是linux系統(tǒng),所以這些GOOS設(shè)置為linux,GOARCH設(shè)置為arm。
3.3 GOARM
表示使用的浮點(diǎn)運(yùn)算協(xié)處理器版本號(hào),只對(duì)arm平臺(tái)有用,可選值有5,6,7。如果是在目標(biāo)平臺(tái)上編譯源代碼,這個(gè)值可以不設(shè)置,它會(huì)自動(dòng)判斷需要使用哪一個(gè)版本。
總結(jié)下來,在樹莓派上設(shè)置golang的編譯環(huán)境變量,可編輯$HOME/.bashrc文件,在末尾添加下面內(nèi)容:
export GOROOT=你的go目錄路徑
export GOOS=linux
export GOARCH=arm
編輯完后保存,執(zhí)行source ~/.bashrc命令讓修改生效。
4、編譯源代碼
環(huán)境變量配置完成自后就可以開始編譯源代碼。在go目錄下的src子目錄中,主要有all.bash和make.bash兩個(gè)腳本(另外還有兩個(gè)all.bat和make.bat腳本適用于window平臺(tái))。編譯實(shí)際上就是執(zhí)行其中一個(gè)腳本,兩者的區(qū)別在于all.bash在編譯完成后還會(huì)執(zhí)行一些測試套件。如果希望只編譯不測試,可以運(yùn)行make.bash腳本。使用cd命令進(jìn)入go下src目錄,執(zhí)行./all.bash或者./make.bash命令即可開始編譯。由于硬件情況不同,編譯耗費(fèi)的時(shí)間不同。在我的B型樹莓派編譯過程花費(fèi)了將近半個(gè)小時(shí),編譯完成后執(zhí)行的測試套件又花費(fèi)了差不多一個(gè)小時(shí),總共花費(fèi)了一個(gè)半小時(shí)左右。
5、配置golang運(yùn)行環(huán)境變量
編譯完成后,go目錄下會(huì)生成bin目錄,里面就是go的運(yùn)行腳本。為了以后使用方法,可以將這個(gè)bin路徑添加到PATH環(huán)境變量中。同樣編輯~/.bashrc文件,因?yàn)榍懊嬖O(shè)置過GOROOT環(huán)境變量指向go目錄了,所以只需要在末尾加上
export PATH=$PATH:$GOROOT/bin
保存后同樣執(zhí)行source ~/.bashrc命令讓環(huán)境變量生效。
至此,golang源代碼編譯安裝成功。執(zhí)行g(shù)o version應(yīng)該就能看到當(dāng)前golang的版本信息,表示編譯安裝成功。
Go 語言又稱為 golang, 是由 Google 最初開發(fā)的一種開源編程語言,其在設(shè)計(jì)時(shí)就遵循了簡單、安全和速度的 3 大原則。Go 語言具有多種調(diào)試、測試、分析和代碼審查工具,如今 Go 語言和工具已在大多數(shù) Linux 發(fā)行版本的源庫中進(jìn)行提供,本文我就來說明如何為 Linux 安裝 Go 語言。Ubuntu、Debian或Linux Mint安裝Go語言基于 Debian的 Linux 發(fā)行版本都可以使用 apt-get 命令來進(jìn)行安裝:sudo apt-get install golang要查看當(dāng)前系統(tǒng)安裝的 Go 語言版本可以使用如下命令:go version由于 Go 代碼必需保存在 workspace(工作區(qū))中,所以我們必需在 Home 目錄(例如 ~/workspace)創(chuàng)建一個(gè)workspace 目錄并定義 GOPATH 環(huán)境變量指向該目錄,這個(gè)目錄將被 Go 工具用于保存和編輯二進(jìn)制文件。mkdir ~/workspaceecho 'export GOPATH="$HOME/workspace"' ~/.bashrcsource ~/.bashrc根據(jù)不同的需要,我們可以使用 apt-get 安裝 Go tools:sudo apt-cache search golangFedora、CentOS或RHEL安裝Go語言基于 Red Hat 的 Linux 發(fā)行版本都可以使用 yum 命令來進(jìn)行安裝:sudo yum install golang要查看當(dāng)前系統(tǒng)安裝的 Go 語言版本可以使用如下命令:go version接下來還是在 Home 目錄(例如 ~/workspace)創(chuàng)建一個(gè) workspace 目錄并定義 GOPATH 環(huán)境變量指向該目錄,這個(gè)目錄將被 Go 工具用于保存和編輯二進(jìn)制文件。mkdir ~/workspaceecho 'export GOPATH="$HOME/workspace"' ~/.bashrcsource ~/.bashrc根據(jù)不同的需要,我們可以使用 yum 安裝 Go tools:yum search golang為Linux手動(dòng)安裝Go語言由于大家使用的 Linux 源不盡相同,也不見得是最新版本或需要版本的 Go 語言包,所以我們說一下如何手動(dòng)安裝指定版本。下載 Go 語言文件64-bit Linuxwget Linuxwget 下載地址:解壓二進(jìn)制文件到 /usr/local 目錄sudo tar -xzf go1.4.2.linux-xxx.tar.gz -C /usr/local使用 vi 在環(huán)境變量配置文件 /etc/profile 中增加如下內(nèi)容:export PATH=$PATH:/usr/local/go/bin檢查 Go 語言版本go version定義 GOPATH 環(huán)境變量到 workspace 目錄export GOPATH="$HOME/workspace
1.1 Go 安裝
Go的三種安裝方式
Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見的安裝方式:
Go源碼安裝:這是一種標(biāo)準(zhǔn)的軟件安裝方式。對(duì)于經(jīng)常使用Unix類系統(tǒng)的用戶,尤其對(duì)于開發(fā)者來說,從源碼安裝可以自己定制。
Go標(biāo)準(zhǔn)包安裝:Go提供了方便的安裝包,支持Windows、Linux、Mac等系統(tǒng)。這種方式適合快速安裝,可根據(jù)自己的系統(tǒng)位數(shù)下載好相應(yīng)的安裝包,一路next就可以輕松安裝了。**推薦這種方式**
第三方工具安裝:目前有很多方便的第三方軟件包工具,例如Ubuntu的apt-get、Mac的homebrew等。這種安裝方式適合那些熟悉相應(yīng)系統(tǒng)的用戶。
最后,如果你想在同一個(gè)系統(tǒng)中安裝多個(gè)版本的Go,你可以參考第三方工具GVM,這是目前在這方面做得最好的工具,除非你知道怎么處理。
Go源碼安裝
在Go的源代碼中,有些部分是用Plan 9 C和ATT匯編寫的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。
在Mac系統(tǒng)中,只要你安裝了Xcode,就已經(jīng)包含了相應(yīng)的編譯工具。
在類Unix系統(tǒng)中,需要安裝gcc等工具。例如Ubuntu系統(tǒng)可通過在終端中執(zhí)行sudo apt-get install gcc
libc6-dev來安裝編譯工具。
在Windows系統(tǒng)中,你需要安裝MinGW,然后通過MinGW安裝gcc,并設(shè)置相應(yīng)的環(huán)境變量。
你可以直接去官網(wǎng)下載源碼,找相應(yīng)的goVERSION.src.tar.gz的文件下載,下載之后解壓縮到$HOME目錄,執(zhí)行如下代碼:
cd go/src
./all.bash
運(yùn)行all.bash后出現(xiàn)"ALL TESTS PASSED"字樣時(shí)才算安裝成功。
上面是Unix風(fēng)格的命令,Windows下的安裝方式類似,只不過是運(yùn)行all.bat,調(diào)用的編譯器是MinGW的gcc。
如果是Mac或者Unix用戶需要設(shè)置幾個(gè)環(huán)境變量,如果想重啟之后也能生效的話把下面的命令寫到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是寫入文件的,記得執(zhí)行bash .bashrc或者bash
.zshrc使得設(shè)置立馬生效。
如果是window系統(tǒng),就需要設(shè)置環(huán)境變量,在path里面增加相應(yīng)的go所在的目錄,設(shè)置gopath變量。
當(dāng)你設(shè)置完畢之后在命令行里面輸入go,看到如下圖片即說明你已經(jīng)安裝成功
圖1.1 源碼安裝之后執(zhí)行Go命令的圖
如果出現(xiàn)Go的Usage信息,那么說明Go已經(jīng)安裝成功了;如果出現(xiàn)該命令不存在,那么可以檢查一下自己的PATH環(huán)境變中是否包含了Go的安裝目錄。
關(guān)于上面的GOPATH將在下面小節(jié)詳細(xì)講解
Go標(biāo)準(zhǔn)包安裝
Go提供了每個(gè)平臺(tái)打好包的一鍵安裝,這些包默認(rèn)會(huì)安裝到如下目錄:/usr/local/go
(Windows系統(tǒng):c:\Go),當(dāng)然你可以改變他們的安裝位置,但是改變之后你必須在你的環(huán)境變量中設(shè)置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面這些命令對(duì)于Mac和Unix用戶來說最好是寫入.bashrc或者.zshrc文件,對(duì)于windows用戶來說當(dāng)然是寫入環(huán)境變量。
如何判斷自己的操作系統(tǒng)是32位還是64位?
我們接下來的Go安裝需要判斷操作系統(tǒng)的位數(shù),所以這小節(jié)我們先確定自己的系統(tǒng)類型。
Windows系統(tǒng)用戶請(qǐng)按Win+R運(yùn)行cmd,輸入systeminfo后回車,稍等片刻,會(huì)出現(xiàn)一些系統(tǒng)信息。在“系統(tǒng)類型”一行中,若顯示“x64-based
PC”,即為64位系統(tǒng);若顯示“X86-based PC”,則為32位系統(tǒng)。
Mac系統(tǒng)用戶建議直接使用64位的,因?yàn)镚o所支持的Mac OS X版本已經(jīng)不支持純32位處理器了。
Linux系統(tǒng)用戶可通過在Terminal中執(zhí)行命令arch(即uname
-m)來查看系統(tǒng)信息:
64位系統(tǒng)顯示
x86_64
32位系統(tǒng)顯示
i386
Mac 安裝
訪問下載地址,32位系統(tǒng)下載go1.4.2.darwin-386-osx10.8.pkg,64位系統(tǒng)下載go1.4.2.darwin-amd64-osx10.8.pkg,雙擊下載文件,一路默認(rèn)安裝點(diǎn)擊下一步,這個(gè)時(shí)候go已經(jīng)安裝到你的系統(tǒng)中,默認(rèn)已經(jīng)在PATH中增加了相應(yīng)的~/go/bin,這個(gè)時(shí)候打開終端,輸入go
看到類似上面源碼安裝成功的圖片說明已經(jīng)安裝成功
如果出現(xiàn)go的Usage信息,那么說明go已經(jīng)安裝成功了;如果出現(xiàn)該命令不存在,那么可以檢查一下自己的PATH環(huán)境變中是否包含了go的安裝目錄。
Linux 安裝
訪問下載地址,32位系統(tǒng)下載go1.4.2.linux-386.tar.gz,64位系統(tǒng)下載go1.4.2.linux-amd64.tar.gz,
假定你想要安裝Go的目錄為 $GO_INSTALL_DIR,后面替換為相應(yīng)的目錄路徑。
解壓縮tar.gz包到安裝目錄下:tar zxvf go1.4.2.linux-amd64.tar.gz -C
$GO_INSTALL_DIR。
設(shè)置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin
然后執(zhí)行g(shù)o
圖1.2 Linux系統(tǒng)下安裝成功之后執(zhí)行g(shù)o顯示的信息
如果出現(xiàn)go的Usage信息,那么說明go已經(jīng)安裝成功了;如果出現(xiàn)該命令不存在,那么可以檢查一下自己的PATH環(huán)境變中是否包含了go的安裝目錄。
Windows 安裝
訪問Google Code 下載頁,32
位請(qǐng)選擇名稱中包含 windows-386 的 msi 安裝包,64 位請(qǐng)選擇名稱中包含 windows-amd64 的。下載好后運(yùn)行,不要修改默認(rèn)安裝目錄
C:\Go\,若安裝到其他位置會(huì)導(dǎo)致不能執(zhí)行自己所編寫的 Go 代碼。安裝完成后默認(rèn)會(huì)在環(huán)境變量 Path 后添加 Go 安裝目錄下的 bin 目錄
C:\Go\bin\,并添加環(huán)境變量 GOROOT,值為 Go 安裝根目錄 C:\Go\ 。
驗(yàn)證是否安裝成功
在運(yùn)行中輸入 cmd 打開命令行工具,在提示符下輸入 go,檢查是否能看到 Usage 信息。輸入
cd %GOROOT%,看是否能進(jìn)入 Go 安裝目錄。若都成功,說明安裝成功。
不能的話請(qǐng)檢查上述環(huán)境變量 Path 和 GOROOT 的值。若不存在請(qǐng)卸載后重新安裝,存在請(qǐng)重啟計(jì)算機(jī)后重試以上步驟。
第三方工具安裝
GVM
gvm是第三方開發(fā)的Go多版本管理工具,類似ruby里面的rvm工具。使用起來相當(dāng)?shù)姆奖悖惭bgvm使用如下命令:
bash (curl -s -S -L )
安裝完成后我們就可以安裝go了:
gvm install go1.4.2
gvm use go1.4.2
也可以使用下面的命令,省去每次調(diào)用gvm use的麻煩: gvm use go1.4.2 --default
執(zhí)行完上面的命令之后GOPATH、GOROOT等環(huán)境變量會(huì)自動(dòng)設(shè)置好,這樣就可以直接使用了。
apt-get
Ubuntu是目前使用最多的Linux桌面系統(tǒng),使用apt-get命令來管理軟件包,我們可以通過下面的命令來安裝Go,為了以后方便,應(yīng)該把
git mercurial 也安裝上:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable git-core mercurial
homebrew
homebrew是Mac系統(tǒng)下面目前使用最多的管理軟件的工具,目前已支持Go,可以通過命令直接安裝Go,為了以后方便,應(yīng)該把
git mercurial 也安裝上:
brew update brew upgrade
brew install go
brew install git
brew install mercurial
go語言作為google的一個(gè)主推語言,最近很多人都在研究,也花了一點(diǎn)時(shí)間對(duì)他的安裝進(jìn)行了測試,本人使用Sublime Text 2 + GoSublime + gocode
顧名思義首先是安裝Go,這里有很詳細(xì)的安裝說明, 或者(golang.org自己去找hosts),官方已經(jīng)支持Windows版本
下載解壓配置環(huán)境變量
“環(huán)境變量”(我的電腦-高級(jí)系統(tǒng)設(shè)置-環(huán)境變量),在系統(tǒng)變量的標(biāo)簽下,依次新建編輯如下幾個(gè)鍵值對(duì):
(1). 新建 變量名:GOBIN 變量值 :c:\go\bin
(2). 新建 變量名:GOARCH 變量值:386
(3). 新建 變量名:GOOS 變量值:windows
(4). 新建 變量名: GOROOT 變量值:c:\go
(5). 編輯 Path 在Path的變量值的最后加上 %GOBIN%
1. 下載 Sublime Text 2,地址如下:
2. 解壓以后,雙擊 sublime_text,就可以使用 Sublime Text 2 了。
破解:
用 WinHex 編輯 sublime_text_backup.exe 文件, 跳到 000CBB70 那一行,將該行的 8A C3 修改為 B0 01 然后保存
破解注冊(cè)成功
3. 安裝 Package Control,在打開 Sublime Text 2以后,按下快捷鍵 Ctrl + `,打開命令窗行(具體在view——show Console),并回車:
import urllib2,os; pf=’Package Control.sublime-package’; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),’wb’).write(urllib2.urlopen(‘’+pf.replace(‘ ‘,’%20′)).read()); print ‘Please restart Sublime Text to finish installation’
4. 重啟Sublime Text 2后,就可以發(fā)現(xiàn)在 Preferences菜單下,多出一個(gè)菜單項(xiàng) Package Control。
5.現(xiàn)在安裝GoSublime插件了,按住Ctrl+Shilft+p會(huì)彈出一個(gè)對(duì)話框輸入install回車彈出一個(gè)安裝包的對(duì)話框
同上輸入GoSublime選擇GoSublime回車
本機(jī)已經(jīng)安裝所以沒有出現(xiàn)選項(xiàng),輸入Go build選中回車(這個(gè)屬于可選)
到此GoSublime安裝成功
6.下面安裝gocode,
首安裝 Git-1.7.11-preview20120710。
打開控制臺(tái),輸入以下內(nèi)容:
go get github.com/nsf/gocode
go install github.com/nsf/gocode
go get github.com/DisposaBoy/MarGo
go install github.com/DisposaBoy/MarGo
也可以去github下載(要安裝google的git版本管理工具)
安裝完成后,我們可以在 go/bin 目錄下,發(fā)現(xiàn)多出了個(gè) gocode 文件。(一定要放在bin目錄下)
7. 修改GoSublime配置:在 Preferences菜單下,找到Package Settings,然后找到 GoSublime,再往下找到 Settings – Default。再打開的文件中,添加如下配置,并保存:
"env": {"path":"c:/go/bin;" },
好了,到目前為止,開發(fā)環(huán)境搭建完成。
下面可以自由編程了。呵呵。
按下快捷鍵 Ctrl + b 界面下方會(huì)出現(xiàn)如下界面:
好了,到現(xiàn)在,開發(fā)環(huán)境就搭建完畢了。
如下是內(nèi)容我這邊沒有使用照樣可以使用:
sublime Text 2 編譯配置設(shè)置方法
tools-build system-new build system 新建一個(gè)配置文件 設(shè)置為
{
“cmd”: ["go", "run", "$file_name"],
“file_regex”: “^[ ]*File \”(…*?)\”, line ([0-9]*)”,
“working_dir”: “$file_path”,
“selector”: “source.go”
}
然后就可以用ctrl+b 編譯了
保存