Golang開(kāi)發(fā)環(huán)境搭建
首先學(xué)習(xí)一門(mén)開(kāi)發(fā)語(yǔ)言首先先要搭建開(kāi)發(fā)環(huán)境,有了環(huán)境我們才能進(jìn)行代碼的開(kāi)發(fā)职祷,先介紹在一些主流的操作系統(tǒng)編譯環(huán)境的搭建和IDE選擇氏涩。
要搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境,先下載Go語(yǔ)言的開(kāi)發(fā)工具包堪旧,下載下載地址:https://golang.org/dl/削葱,(墻內(nèi)下載地址http://www.golangtc.com/download),Go為我們所熟知的所有平臺(tái)架構(gòu)提供了開(kāi)發(fā)工具包淳梦,比如我們熟知的Linux析砸、Mac和Windows,其他的還有FreeBSD等爆袍。
根據(jù)自己機(jī)器的操作系統(tǒng)選擇相應(yīng)的開(kāi)發(fā)工具包首繁,Windows 64位的,就選擇windows-amd64的工具包陨囊;是Linux 32位的就選擇linux-386的工具包弦疮,Mac的現(xiàn)在都是64位的,直接選擇就可以了蜘醋。
開(kāi)發(fā)工具包又分為安裝版和壓縮版胁塞。安裝版是Mac和Windows特有的,他們的名字類(lèi)似于:
go1.9.2.darwin-amd64.pkg
go1.9.2.windows-386.msi
go1.9.2.windows-amd64.msi
下載安裝版后,雙擊打開(kāi)會(huì)出現(xiàn)安裝向?qū)グ眨屇氵x擇安裝的路徑编检,可以幫你設(shè)置環(huán)境變量,直接慢慢下一步就可以安裝扰才。
壓縮版的就是一個(gè)壓縮文件允懂,可以解壓得到里面的內(nèi)容,他們的名字類(lèi)似于:
go1.9.2.darwin-amd64.tar.gz
go1.9.2.linux-386.tar.gz
go1.9.2.linux-amd64.tar.gz
go1.9.2.windows-386.zip
go1.7.4.windows-amd64.zip
壓縮版我們下載后需要解壓衩匣,然后自己移動(dòng)到要存放的路徑下蕾总,并且配置環(huán)境變量等信息,相比安裝版來(lái)說(shuō)琅捏,比較復(fù)雜一些生百,手動(dòng)配置的比較多。
一午绳、Windows下Golang開(kāi)發(fā)環(huán)境搭建
安裝版:根據(jù)操作系統(tǒng)的位數(shù)選擇下載相應(yīng)的安裝包以后置侍,直接配置安裝路徑下一步就可以安裝映之。
壓縮版:根據(jù)操作系統(tǒng)下載相應(yīng)的安裝包以后拦焚,下載下來(lái)的是壓縮版是一個(gè)ZIP壓縮包,解壓杠输,把解壓里面的go目錄放在某個(gè)目錄下赎败,如放在C盤(pán)下面,c:\Go就是Go的安裝目錄了蠢甲,他里面有bin僵刮、src、doc等目錄鹦牛。
安裝完以后搞糕,特別需要注意需要設(shè)置環(huán)境變量
當(dāng)使用安裝版本時(shí),安裝時(shí)會(huì)自己把go開(kāi)發(fā)工具的路徑設(shè)置在PATH環(huán)境變量下面曼追,但是當(dāng)使用壓縮包安裝時(shí)窍仰,我們需要自己設(shè)置PATH環(huán)境變量。環(huán)境變量有用戶(hù)環(huán)境變量和系統(tǒng)環(huán)境變量(對(duì)所有的用戶(hù)有效)礼殊。
特別需要注意的是驹吮,不管壓縮版與安裝版安裝后需要設(shè)置GOPATH和GOROOT環(huán)境變量設(shè)置,GOROOT變量值是我們剛剛安裝的go路徑c:\Go,這樣就配置好了GO目錄的安裝路徑了晶伦。PATH環(huán)境變量就是%%GOROOT\bin路徑碟狞,如c:\Go\bin路徑。
GOPATH環(huán)境變量設(shè)置婚陪,GOPATH這個(gè)環(huán)境變量設(shè)置為我們的工作目錄族沃,就是寫(xiě)代碼的目錄,這個(gè)環(huán)境變量指定之后,我們編譯源代碼等生成的文件都會(huì)放到這個(gè)目錄下脆淹。
由于我的Go語(yǔ)言開(kāi)發(fā)工具包安裝在E:\Go\目錄下智润,所以GOROOT路徑設(shè)置為E:\Go\,我的工作目錄為F:\MyCode\go未辆。
GOPATH工作目錄的目錄結(jié)構(gòu)為:
你需要在工作目錄下新建三個(gè)文件夾窟绷,分別是bin、pkg咐柜、src兼蜈。
- src 目錄存放的是我們的go源代碼,不同工程項(xiàng)目的代碼以包名區(qū)分拙友。
- pkg 編譯后生成的文件(比如:.a)
- bin bin文件夾存放go install命名生成的可執(zhí)行文件为狸,可以把
GOROOT/bin一樣遗契,這樣就可以直接在終端里使用我們go開(kāi)發(fā)生成的程序辐棒。
安裝完以后,你可以在cmd終端里面測(cè)試go語(yǔ)言開(kāi)發(fā)工具包時(shí)候正常安裝牍蜂,執(zhí)行g(shù)o version漾根,查看是否完成安裝。
測(cè)試go語(yǔ)言開(kāi)發(fā)環(huán)境
windows下go語(yǔ)言開(kāi)發(fā)有一些IDE可以使用鲫竞,目前我是使用過(guò)的如golang和liteide辐怕,直接很好的編輯與查看golang的代碼。
二从绘、Linux下Golang開(kāi)發(fā)環(huán)境搭建
下載go1.9.2.linux-amd64.tar.gz后寄疏,進(jìn)行解壓,你可以采用自帶的解壓軟件解壓僵井,我們這里選擇的安裝目錄是/usr/local/go,可以使用如下命令:
當(dāng)加壓時(shí)提示沒(méi)有權(quán)限時(shí)陕截,在最前面加上sudo以root用戶(hù)的身份運(yùn)行。運(yùn)行后批什,在/usr/local/下就可以看到go目錄了农曲。如果是自己用軟件解壓的,可以拷貝到/usr/local/go下渊季,但是要保證你的go文件夾下是bin朋蔫、src、doc等目錄却汉,不要go文件夾下又是一個(gè)go文件夾驯妄,這樣就雙重嵌套了。
然后就要配置環(huán)境變量了合砂,Linux下又兩個(gè)文件可以配置青扔,其中/etc/profile是針對(duì)所有用戶(hù)都有效的;~/.profile是針對(duì)當(dāng)前用戶(hù)有效的。
使用vim或者其他編輯器打開(kāi)配置文件,如 vim ~/.profile微猖,在文件最后加上環(huán)境變量GOPATH谈息、GOROOT和PATH的配置。
GOPATH配置為工作目錄凛剥,以后編寫(xiě)寫(xiě)代碼的目錄侠仇;GOROOT為Go工具包的安裝目錄,在PATH配置后加上$GOROOT\bin犁珠。
你需要在工作目錄GOPATH目錄下下新建三個(gè)文件夾逻炊,分別是bin、pkg犁享、src余素。
- src 目錄存放的是我們的go源代碼,不同工程項(xiàng)目的代碼以包名區(qū)分炊昆。
- pkg 編譯后生成的文件(比如:.a)
- bin bin文件夾存放go install命名生成的可執(zhí)行文件桨吊,可以把
GOROOT/bin一樣凤巨,這樣就可以直接在終端里使用我們go開(kāi)發(fā)生成的程序视乐。
GOPATH.png
針對(duì)所有用戶(hù)的需要重啟電腦才可以生效;針對(duì)當(dāng)前用戶(hù)的磅甩,在終端里使用suurce加載這個(gè)$HOME/.profile即可生效炊林。
安裝完以后,你可以在cmd終端里面測(cè)試go語(yǔ)言開(kāi)發(fā)工具包時(shí)候正常安裝卷要,執(zhí)行g(shù)o version,查看是否完成安裝独榴。
三僧叉、Mac下Golang開(kāi)發(fā)環(huán)境搭建
Mac分為壓縮版和安裝版,他們都是64位的棺榔。壓縮版和Linux的大同小異瓶堕,因?yàn)镸ac和Linux都是基于Unix,終端這一塊基本上是相同的症歇。
壓縮版解壓后郎笆,就可以和Linux一樣放到一個(gè)目錄下,這里也以/usr/local/go/為例忘晤。在配置環(huán)境變量的時(shí)候宛蚓,針對(duì)所有用戶(hù)和Linux是一樣的,都是/etc/profile這個(gè)文件设塔;針對(duì)當(dāng)前用戶(hù)凄吏,Mac下是$HOME/.bash_profile,其他配置都一樣,包括編輯sudo權(quán)限和生效方式痕钢,最后在終端里測(cè)試:
? ~ go version
go version go1.7.4 darwin/amd64
Mac安裝版下載后雙擊可以看到安裝界面图柏,按照提示一步步選擇操作即可。安裝版默認(rèn)安裝目錄是/usr/local/go任连,并且也會(huì)自動(dòng)的把/usr/local/go/bin目錄加入到PATH環(huán)境變量中蚤吹,重新打開(kāi)一個(gè)終端,就可以使用go version進(jìn)行測(cè)試了随抠,更快捷方便一些距辆。
go項(xiàng)目工程(GOPATH)目錄結(jié)構(gòu)
配置好工作目錄后,就可以編碼開(kāi)發(fā)了暮刃,在這之前跨算,我們看下go的通用項(xiàng)目結(jié)構(gòu),這里的結(jié)構(gòu)主要是源代碼相應(yīng)地資源文件存放目錄結(jié)構(gòu)。
我們知道源代碼都是存放在GOPATH的src目錄下椭懊,那么多個(gè)多個(gè)項(xiàng)目的時(shí)候诸蚕,通過(guò)包來(lái)進(jìn)行區(qū)分,使用包來(lái)組織我們的項(xiàng)目目錄結(jié)構(gòu)氧猬。創(chuàng)建一個(gè)文件夾背犯,我自己的go項(xiàng)目都放在這個(gè)文件夾里,這樣就不會(huì)和其他人的項(xiàng)目沖突盅抚,包名也是唯一的漠魏。
那么我們?nèi)绾我靡粋€(gè)包呢,也就是go里面的import妄均。通過(guò)包路徑柱锹,包路徑就是從src目錄開(kāi)始,逐級(jí)文件夾的名字用/連起來(lái)就是我們需要的包名丰包,比如: