這篇文章主要介紹“Go語(yǔ)言入門基礎(chǔ)知識(shí)有哪些”,在日常操作中,相信很多人在Go語(yǔ)言入門基礎(chǔ)知識(shí)有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Go語(yǔ)言入門基礎(chǔ)知識(shí)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
新市ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!一、Go語(yǔ)言簡(jiǎn)介
1、什么是go語(yǔ)言?
2007年,受夠了C++煎熬的Google首席軟件工程師Rob Pike糾集Robert Griesemer和Ken Thompson兩位牛人,決定創(chuàng)造一種新語(yǔ)言來(lái)取代C++, 這就是Golang。出現(xiàn)在21世紀(jì)的GO語(yǔ)言,雖然不能如愿對(duì)C++取而代之,但是其近C的執(zhí)行性能和近解析型語(yǔ)言的開發(fā)效率以及近乎于完美的編譯速度,已經(jīng)風(fēng)靡全球。特別是在云項(xiàng)目中,大部分都使用了Golang來(lái)開發(fā),不得不說(shuō),Golang早已深入人心。而對(duì)于一個(gè)沒有歷史負(fù)擔(dān)的新項(xiàng)目,Golang或許就是個(gè)不二的選擇。
被稱為GO語(yǔ)言之父的Rob Pike說(shuō),你是否同意GO語(yǔ)言,取決于你是認(rèn)可少就是多,還是少就是少(Less is more or less is less)。Rob Pike以一種非常樸素的方式,概括了GO語(yǔ)言的整個(gè)設(shè)計(jì)哲學(xué)–將簡(jiǎn)單、實(shí)用體現(xiàn)得淋漓盡致。
很多人將GO語(yǔ)言稱為21世紀(jì)的C語(yǔ)言,因?yàn)镚O不僅擁有C的簡(jiǎn)潔和性能,而且還很好的提供了21世紀(jì)互聯(lián)網(wǎng)環(huán)境下服務(wù)端開發(fā)的各種實(shí)用特性,讓開發(fā)者在語(yǔ)言級(jí)別就可以方便的得到自己想要的東西。
2、golang語(yǔ)言特性
(1) 垃圾回收
內(nèi)存自動(dòng)回收,再也不需要開發(fā)人員管理內(nèi)存。開發(fā)人員專注業(yè)務(wù)實(shí)現(xiàn),降低了心智負(fù)擔(dān)。只需要new分配內(nèi)存,不需要釋放。
(2)goroute天然并發(fā)
從語(yǔ)言層面支持并發(fā),非常簡(jiǎn)單。使用一個(gè)go則在編譯時(shí)會(huì)自動(dòng)開啟一個(gè)線程來(lái)執(zhí)行后面的命令/函數(shù)/方法,不用像python需要先調(diào)用thread模塊來(lái)開啟線程goroute,輕量級(jí)線程,創(chuàng)建成千上萬(wàn)個(gè)goroute成為可能?;贑SP(Communicating Sequential Process)模型實(shí)現(xiàn)。
(3)多返回值
Go的函數(shù)可以有多個(gè)返回值
“`
func main() {
x,y:=p_fun(10,80)
// x,_ := p_fun(10,80) 多返回值函數(shù)時(shí),只要一個(gè)返回值
fmt.Println(x,y)
}
//多返回值函數(shù)
func p_fun(a int,b int) (int,int) { //函數(shù)傳入2個(gè)整型參數(shù),返回2個(gè)值,都為int類型
sum := a+b
avg := (a+b)/2
return sum,avg
}
(4)go的“包”的概念
a.和python一樣,把相同功能的代碼放到一個(gè)目錄,稱之為包。
b.包可以被其他包引用。
c.main包是用來(lái)生成可執(zhí)行文件,每個(gè)程序只有一個(gè)main包。
d.包的主要用途是提高代碼的可復(fù)用性。
e.包的引用
Go在首行使用“package <包名>”來(lái)聲明自己所在的包(主程序包為main包,也可以自定義包名),“import”引入其他的包,go自帶的系統(tǒng)包所在的路徑已經(jīng)在“GOROOT”環(huán)境變量中設(shè)置好了.
可以使用“import”直接引入,而自己定義的包: package <包名> 在import導(dǎo)入時(shí)則需要相對(duì)路徑:第三方包默在“GOROOT”和“GOPATH”環(huán)境變量所在的路徑下的src目錄下尋找.
(5)go文件編碼規(guī)范
使用gofmt
到此,關(guān)于“Go語(yǔ)言入門基礎(chǔ)知識(shí)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!