GO語言保證了既能到達靜態編譯語言的安全和性能,又達到了動態語言開發維護的高效率,使用一個表達式來形容GO語言:GO=C+Python,說明GO語言既有C靜態語言程序的運行速度,又能達到Python動態語言的快速開發
1.從C語言中繼承了很多理念,包括表達式語法,控制結構,基礎數據類型,調用參數傳值,指針等等,也保留了和C語言一樣的編譯執行方式及弱化的指針。
2.引入包的概念,用於組織程序結構,GO的語言一個文件都要歸屬一個包,而不能單獨存在。
3.垃圾回收機制,內存自動回收,不需要開發人員管理
4.天然併發(重要特點)
從語言層面支持併發,實現簡單
goroutine,輕量級線程,可實現大併發處理,高效利用多核。
基於GPS併發模型(Communicating Sequential Processes)實現
5.吸收了管道通信機制,形成GO語言特有的管道channel通過管道channel,可以實現不同的goroute之間的相互通信
6.函數可以返回多個值
7.新的創新:比如切片slice、延時執行defer等