本教程操作環(huán)境:Windows10系統(tǒng)、GO 1.18版、Dell G3電腦。
go語(yǔ)言是用漢語(yǔ)開(kāi)發(fā)嗎?
不是。是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開(kāi)發(fā)的一種靜態(tài)強(qiáng)類(lèi)型、編譯型語(yǔ)言。
(相關(guān)資料圖)
1.1 為并發(fā)而生
GO語(yǔ)言是Google開(kāi)發(fā)的開(kāi)源編程語(yǔ)言誕生于2006年1月,于2009年11月開(kāi)源,2012年發(fā)布穩(wěn)定版。Go語(yǔ)言在多核并發(fā)上擁有原生的設(shè)計(jì)優(yōu)勢(shì),Go語(yǔ)言從底層原生支持并發(fā),無(wú)須第三方庫(kù)、開(kāi)發(fā)者的編程技巧和開(kāi)發(fā)經(jīng)驗(yàn)。
Go是非常年輕的一門(mén)語(yǔ)言,它的主要目標(biāo)是“兼具Python等動(dòng)態(tài)語(yǔ)言的開(kāi)發(fā)速度和C/C++等編譯型語(yǔ)言的性能與安全性”
經(jīng)過(guò)Go語(yǔ)言重構(gòu)的系統(tǒng)能使用更少的硬件資源獲得更高的并發(fā)和I/O吞吐表現(xiàn)。
Go語(yǔ)言的并發(fā)是基于 goroutine 的,goroutine 類(lèi)似于線程,但并非線程??梢詫?goroutine 理解為一種虛擬線程。Go 語(yǔ)言運(yùn)行時(shí)會(huì)參與調(diào)度 goroutine,并將 goroutine 合理地分配到每個(gè) CPU 中,最大限度地使用CPU性能。
goroutine的特點(diǎn):
具有可增長(zhǎng)的分段堆棧。這意味著它們只在需要時(shí)才會(huì)使用更多內(nèi)存
啟動(dòng)時(shí)間比線程快
原生支持利用channel安全地進(jìn)行通信
共享數(shù)據(jù)結(jié)構(gòu)時(shí)無(wú)需使用互斥鎖
1.2 簡(jiǎn)單易學(xué)
語(yǔ)言簡(jiǎn)潔
Go語(yǔ)言的風(fēng)格類(lèi)似于C語(yǔ)言。其語(yǔ)法在C語(yǔ)言的基礎(chǔ)上進(jìn)行了大幅的簡(jiǎn)化,去掉了不需要的表達(dá)式括號(hào),循環(huán)也只有for一種表示方法,就可以實(shí)現(xiàn)數(shù)值、鍵值等各種遍歷。
代碼風(fēng)格統(tǒng)一
Go語(yǔ)言提供了一套格式化工具——go fmt。一些Go語(yǔ)言的開(kāi)發(fā)環(huán)境或者編輯器在保存時(shí),都會(huì)使用格式化工具進(jìn)行修改代碼的格式化,這樣就保證了不同開(kāi)發(fā)者提交的代碼都是統(tǒng)一的格式。
開(kāi)發(fā)效率高
Go語(yǔ)言實(shí)現(xiàn)了開(kāi)發(fā)效率與執(zhí)行效率的完美結(jié)合,讓你像寫(xiě)Python代碼(效率)一樣編寫(xiě)C代碼(性能)
1.3 適合做什么
服務(wù)端開(kāi)發(fā)
分布式系統(tǒng),微服務(wù)
網(wǎng)絡(luò)編程
區(qū)塊鏈開(kāi)發(fā)
內(nèi)存KV數(shù)據(jù)庫(kù),例如boltDB、levelDB
云平臺(tái)
1.4 前景
目前Go語(yǔ)言已經(jīng)廣泛應(yīng)用于云計(jì)算開(kāi)發(fā)、區(qū)塊鏈開(kāi)發(fā)、容器虛擬化、大數(shù)據(jù)開(kāi)發(fā)、數(shù)據(jù)分析及科學(xué)計(jì)算、運(yùn)維開(kāi)發(fā)、爬蟲(chóng)開(kāi)發(fā)、游戲開(kāi)發(fā)等領(lǐng)域。
Go語(yǔ)言簡(jiǎn)單易學(xué),天生支持并發(fā),完美契合當(dāng)下高并發(fā)的互聯(lián)網(wǎng)生態(tài)。Go語(yǔ)言的崗位需求持續(xù)高漲,目前的Go程序員數(shù)量少,待遇好。
推薦學(xué)習(xí):《go視頻教程》
以上就是go語(yǔ)言是用漢語(yǔ)開(kāi)發(fā)嗎的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
關(guān)鍵詞: