Go語(yǔ)言在Centos下的安裝:
成都創(chuàng)新互聯(lián)長(zhǎng)期為超過(guò)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為東烏珠穆沁企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,東烏珠穆沁網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
注意,以下命令需要以root身份,或者sudo運(yùn)行。
說(shuō)明,如果要自定義安裝位置的話,需要配置GOROOT環(huán)境變量,所以這里我們采用默認(rèn)的目錄進(jìn)行安裝,就可以不配置GOROOT環(huán)境變量了。
首先去官網(wǎng)下載go的安裝包,這里用的是:go1.5.1.linux-amd64.tar.gz
■ 1,選擇安裝路徑
由于默認(rèn)的go路徑,在/usr/local下, 所以用如下命令,解壓創(chuàng)建/usr/local/go
tar -C /usr/local -xzf go1.5.1.linux-amd64.tar.gz
■ 2,添加PATH環(huán)境變量
vi /etc/profile
然后加入下面這行:
export PATH=$PATH:/usr/local/go/bin
■ 3,建立Go的工作空間(workspace,也就是GOPATH環(huán)境變量指向的目錄)
GO代碼必須在工作空間內(nèi)。工作空間是一個(gè)目錄,其中包含三個(gè)子目錄:
src ---- 里面每一個(gè)子目錄,就是一個(gè)包。包內(nèi)是Go的源碼文件
pkg ---- 編譯后生成的,包的目標(biāo)文件
bin ---- 生成的可執(zhí)行文件。
這里,我們?cè)?home目錄下, 建立一個(gè)名為gopath(可以不是gopath, 任意名字都可以)的文件夾,
然后再建立三個(gè)子文件夾(子文件夾名必須為src、pkg、bin)。如下圖:
■ 4,設(shè)置GOPATH環(huán)境變量
vi /etc/profile
然后加入下面這行:
export GOPATH=/home/gopath
保存后,執(zhí)行以下命令,使環(huán)境變量立即生效:
source /etc/profile
至此,Go語(yǔ)言的環(huán)境已經(jīng)安裝完畢。下面開(kāi)始 HelloWorld
包 utf-8 實(shí)現(xiàn)的功能和常量用于文章utf8編碼,包含runes和utf8字節(jié)序列的轉(zhuǎn)換功能.在unicode中,一個(gè)中文占兩個(gè)字節(jié),utf-8中一個(gè)中文占三個(gè)字節(jié),golang默認(rèn)的編碼是utf-8編碼,因此默認(rèn)一個(gè)中文占三個(gè)字節(jié),但是golang中的字符串底層實(shí)際上是一個(gè)byte數(shù)組.
Output:
RuneSelf該值的字節(jié)碼值為128,在判斷是否是常規(guī)的ascii碼是使用。hicb字節(jié)碼值為191. FF 的對(duì)應(yīng)的字節(jié)碼為255。
計(jì)算字符串中的rune數(shù)量,原理:首先取出字符串的碼值,然后判斷是不是個(gè)小于128的,如果是小于則直接continue.rune個(gè)數(shù)++.
如果是個(gè)十六進(jìn)制f1.的則是無(wú)效字符,直接continue.rune個(gè)數(shù)++,也就是說(shuō)一個(gè)無(wú)效的字符也當(dāng)成一個(gè)字長(zhǎng)為1的rune.如果字符的碼值在first列表中的值和7按位的結(jié)果為其字長(zhǎng),比如上面示例中的 鋼 。其字長(zhǎng)為三位,第一位的值為 233 .二進(jìn)制形式為 11101001 ;與7按位與后的值為0.從acceptRanges中取出的結(jié)果為{locb, hicb}。也就是標(biāo)識(shí) ox80 到 0xbf 之間的值。而結(jié)果n也就是直接size+3跳過(guò)3個(gè)字節(jié)后,rune個(gè)數(shù)++。其他函數(shù)的處理流程差不多,不再過(guò)多敘述。
示例:
ValidString返回值表明參數(shù)字符串是否是一個(gè)合法的可utf8編碼的字符串。
RuneCount返回參數(shù)中包含的rune數(shù)量,第一個(gè)例子中將 utf8.RuneCountInString ,改成該方法調(diào)用,返回的結(jié)果相同。錯(cuò)誤的和短的被當(dāng)成一個(gè)長(zhǎng)一字節(jié)的rune.單個(gè)字符 H 就表示一個(gè)長(zhǎng)度為1字節(jié)的rune.
該函數(shù)標(biāo)識(shí)參數(shù)是否以一個(gè)可編碼的rune開(kāi)頭,上面的例子中,因?yàn)樽址且砸粋€(gè)ascii碼值在0-127內(nèi)的字符開(kāi)頭,所以在執(zhí)行
first[p[0]] 時(shí),取到的是 p[0] 是72,在first列表中,127之前的值都相同都為 0xF0 ,十進(jìn)制標(biāo)識(shí)為240,與7按位與后值為0,所以,直接返回 true .
和FullRune類似,只是參數(shù)為字符串形式
go語(yǔ)言是開(kāi)源的,這門語(yǔ)言上手是非常容易的,可直接編譯成機(jī)器碼,不依賴其他庫(kù),glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。
靜態(tài)類型語(yǔ)言,但是有動(dòng)態(tài)語(yǔ)言的感覺(jué),靜態(tài)類型的語(yǔ)言就是可以在編譯的時(shí)候檢查出來(lái)隱藏的大多數(shù)問(wèn)題,動(dòng)態(tài)語(yǔ)言的感覺(jué)就是有很多的包可以使用,寫起來(lái)的效率很高。所以這是一門很好的語(yǔ)言哦,學(xué)了是肯定又幫助的,希望能幫到你
1.Docker項(xiàng)目
網(wǎng)址為 。
介紹:Docker是一種操作系統(tǒng)層面的虛擬化技術(shù),可以在操作系統(tǒng)和應(yīng)用程序之間進(jìn)行隔離,也可以稱之為容器。Docker可以在一臺(tái)物理服務(wù)器上快速運(yùn)行一個(gè)或多個(gè)實(shí)例。例如,啟動(dòng)一個(gè)Cent OS操作系統(tǒng),并在其內(nèi)部命令行執(zhí)行指令后結(jié)束,整個(gè)過(guò)程就像自己在操作系統(tǒng)一樣高效。
2.golang項(xiàng)目
網(wǎng)址為 。
介紹:Go語(yǔ)言的早期源碼使用C語(yǔ)言和匯編語(yǔ)言寫成。從Go 1.5版本自舉后,完全使用Go語(yǔ)言自身進(jìn)行編寫。Go語(yǔ)言的源碼對(duì)了解Go語(yǔ)言的底層調(diào)度有極大的參考意義,建議希望對(duì)Go語(yǔ)言有深入了解的讀者讀一讀。
3.Kubernetes項(xiàng)目
網(wǎng)址為 。
介紹:Google公司開(kāi)發(fā)的構(gòu)建于Docker之上的容器調(diào)度服務(wù),用戶可以通過(guò)Kubernetes集群進(jìn)行云端容器集群管理。
4.etcd項(xiàng)目
網(wǎng)址為 。
介紹:一款分布式、可靠的KV存儲(chǔ)系統(tǒng),可以快速進(jìn)行云配置。
5.beego項(xiàng)目
網(wǎng)址為 。
介紹:beego是一個(gè)類似Python的Tornado框架,采用了RESTFul的設(shè)計(jì)思路,使用Go語(yǔ)言編寫的一個(gè)極輕量級(jí)、高可伸縮性和高性能的Web應(yīng)用框架。
6.martini項(xiàng)目
網(wǎng)址為 。
介紹:一款快速構(gòu)建模塊化的Web應(yīng)用的Web框架。
7.codis項(xiàng)目
網(wǎng)址為 Labs/codis。
介紹:國(guó)產(chǎn)的優(yōu)秀分布式Redis解決方案。
8.delve項(xiàng)目
網(wǎng)址為 。
介紹:Go語(yǔ)言強(qiáng)大的調(diào)試器,被很多集成環(huán)境和編輯器整合。