除了Java、Python和JavaScript之外,如果要開始學(xué)習(xí)一門新語言的話,我想應(yīng)該是Go!
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、成都網(wǎng)站建設(shè)公司、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站設(shè)計等服務(wù)項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:紗窗等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致贊揚!
Go語言正在被越來越多的公司使用。我們公司的后端服務(wù)已經(jīng)全面采用Go語言實現(xiàn)了。
最開始接觸Go語言是去年將一份Go代碼“翻譯”成Python并集成到測試平臺上,說來也挺神奇,我從來沒學(xué)過Go卻完成了這個工作,這也側(cè)面反應(yīng)了Go的語法還是很平易近人的。
今年,在海翔飛調(diào)崗之后已經(jīng)沒有太多時間寫代碼了,但如果要開始學(xué)習(xí)一個新的語言或技術(shù)的話,我最想學(xué)的是Go!
目前來看,Go似乎還并沒有太多測試人員使用的場景,不過,我之前介紹過的BDD行為驅(qū)動框架gauge是由Go開發(fā)的,當然,它也支持使用Go來編寫B(tài)DD測試代碼。
對于,已經(jīng)有一定開發(fā)經(jīng)驗的同學(xué),如何快速的開始學(xué)習(xí)Go語言呢?我這里給一些思路。
#### 第一步:下載和安裝
在配置環(huán)境的時候你需要重點了解GOROOT、GOPATH的作用。
你還要準備一款稱手的編輯器,如果你像我一樣,一直都在使用VS Code的話,那么就它就可以了。
#### 第二步:從hello world開始
先運行一個hello world程序,認識Go語言的語法。
package main
import ( ? ?"fmt")
func main(){
fmt.Println("helloworld!")
}
#### 第三步:熟悉Go的語法
接下來,你可能要花一周左右的時間熟悉Go語言的語法。比如,變量定義、if/for、函數(shù)、Map、跨文件的程序調(diào)用…等,當然,還有一些Go特有的知識。
當然,我更喜歡看視頻教程,雖然質(zhì)量參差不齊,但我仍然覺得看視頻比我自己看書更有效率。
熟悉一段Go代碼:
package main
import"fmt"
func myFunc() {
i := 0
Here: ? //這行的第一個詞,以冒號結(jié)束作為標簽
fmt.Println(i)
i++ ? ?if i 10{ ? ? ? ?goto Here ? //跳轉(zhuǎn)到Here去
}
}func main() { ? ?//調(diào)用函數(shù)
myFunc()
}
#### 第四步:Go如何做單元測試
針對Go做測試也非常簡單。比如,這是一個被測試文件:add.go。
package test_demofunc Add(a int, b int) int{ ? ?return a + b
}
下面針對Add()函數(shù)編寫測試用例,test_add.go
package test_demo
import ( ? ?"testing")
func TestAdd1(t *testing.T){
r:= Add(1, 2) ? ?if r !=3{
t.Errorf("Add(1, 2)failed. Got %d, expected 3.", r)
}
}
func TestAdd2(t *testing.T){
r:= Add(2, 2) ? ?if r !=4{
t.Errorf("Add(2, 2)failed. Got %d, expected 4.", r)
}
}
你只需要執(zhí)行?go test?命令就可以運行上面的測試了。
#### 第五步:從哪兒找第三方庫
當然,你只學(xué)習(xí)go語言本身,基本是做不了什么事的,必須要使用第三方擴展庫。
這里羅列了Go語言的第三方庫,通過這些第三方庫的介紹,我們也可以大概知道Go可以用來干什么。
如果你知道庫的名字的話,也可以在這個網(wǎng)站上搜索。
據(jù)我了解,Go的第三方庫大多都在GitHub上面。
#### 第六步:用Go做Web開發(fā)
Go是靜態(tài)語言,而且支持并發(fā)編程,所以,他有天然的性能優(yōu)勢,大多公司主要使用Go也是開發(fā)后端服務(wù)(即API)。
終于到了實戰(zhàn)階段,如果我們真的要掌握一門語言,那么一定要用它來開發(fā)一個項目出來。這個過程大概需要一個月。
Beego是Go下在主流的Web開發(fā)框架,資料相對比較豐富,而且有完善的文檔。你可為此制定一個目標,比如用它來開發(fā)一個Blog,為此,你需要詳細閱讀Beego文檔,以及學(xué)習(xí)相關(guān)的Web開發(fā)技術(shù)。
等你完成這個項目的時候,我想你已經(jīng)會使用Go語言了。
為什么要學(xué)習(xí)GO語言,GO的優(yōu)勢是什么?
1、 Go有什么優(yōu)勢
Go的優(yōu)勢
1:性能
2:語言性能很重要
3:開發(fā)者效率不要過于創(chuàng)新
4:并發(fā)性通道
5:快速的編譯時間
6:打造團隊的能力
7:強大的生態(tài)系統(tǒng)
8:GOFMT,強制代碼格式
9:gRPC 和 Protocol Buffers
可直接編譯成機器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個文件上去就完成了。
靜態(tài)類型語言,但是有動態(tài)語言的感覺,靜態(tài)類型的語言就是可以在編譯的時候檢查出來隱藏的大多數(shù)問題,動態(tài)語言的感覺就是有很多的包可以使用,寫起來的效率很高。
第一階段:區(qū)塊鏈行業(yè)及Go編程 5周
第二階段:密碼學(xué)與共識算法 2周
第三階段:以太坊源碼解析與開發(fā) 3周
第四階段:超級賬本與Node.js 2周
第五階段:比特幣 EOS 4周
第六階段:項目綜合性實戰(zhàn)
看每個人的語言天賦,和想學(xué)到什么程度。一般行業(yè)性語言學(xué)1~2個月。
每天一張盤一小時,一天看十遍,一部電影學(xué)十天,跟讀77遍,先想辦法搞到劇本(購買——下載——后來教孩子不需要劇本了)。
查閱生詞,研究劇本(比較痛苦。一般很少做標注),頭兩天拿著劇本學(xué)習(xí),以后就不用了。以后整體跟讀(演示),實在聽不明白的,偶爾暫停研究,有些難句子,無論如何暫停。
語言(英文名:Language)是人類最重要的交際工具,是人們進行溝通的主要表達方式。人們借助語言保存和傳遞人類文明的成果。語言是民族的重要特征之一。
一般來說,各個民族都有自己的語言。漢語,法語,俄語,西班牙語,阿拉伯語,英語是世界上的主要語言,也是聯(lián)合國的工作語言。
看的是黑馬程序員的:20小時快速入門Go語言,老師講的還可以,你可以看一下,如果有編程基礎(chǔ),入門是很快的。
我有python基礎(chǔ),學(xué)GO的時候,不到一個月就入門了,在網(wǎng)上學(xué)了GO基礎(chǔ)語法,然后又繼續(xù)在慕課網(wǎng)學(xué)GO開發(fā),目測可能得學(xué)半年左右才能找到好工作,目前學(xué)到了微服務(wù)的核心rpc,今天還體驗了一把grpc的流模式開發(fā),學(xué)了課程還得多實踐,這找工作很有幫助的。