Go 語言保證了既能到達(dá)靜態(tài)編譯語言的安全和性能
谈为,又達(dá)到了動態(tài)語言開發(fā)維護(hù)的高效率
狼纬,使用一個表達(dá)式來形容 Go 語言:Go = C + Python
, 說明 Go 語言既有 C 靜態(tài)語言程序的運(yùn)行速度陨界,又能達(dá)到 Python 動態(tài)語言的快速開發(fā)。
- 從 C 語言中繼承了很多理念淘讥,包括表達(dá)式語法,控制結(jié)構(gòu)悲关,基礎(chǔ)數(shù)據(jù)類型,調(diào)用參數(shù)傳值娄柳,指針等 等寓辱,也保留了和 C 語言一樣的編譯執(zhí)行方式及弱化的指針。
- 引入
包的概念
赤拒,用于組織程序結(jié)構(gòu)秫筏,Go語言的一個文件都要歸屬于一個包,而不能單獨存在
需了。 - 垃圾回收機(jī)制跳昼,內(nèi)存自動回收,不需開發(fā)人員管理肋乍。
- 天然并發(fā) (重要特點)鹅颊。
a. 從語言層面支持并發(fā),實現(xiàn)簡單墓造。
b. goroutine堪伍,輕量級線程,可實現(xiàn)大并發(fā)處理觅闽,高效利用多核帝雇。
c. 基于 CPS 并發(fā)模型(Communicating Sequential Processes )實現(xiàn)。 - 吸收了管道通信機(jī)制蛉拙,形成 Go 語言特有的管道 channel 通過管道 channel , 可以實現(xiàn)不同的 goroute 之間的相互通信尸闸。
- 函數(shù)可以
返回多個值
。 - 新的創(chuàng)新:比如切片 slice孕锄、延時執(zhí)行 defer吮廉。