一、Go的起源 Go語言的所有設計者都說,設計Go語言是因為 C++ 給他們帶來了挫敗感。在 Google I/O 2012 的 Go 設計小組見面會上,Rob Pike 是這樣說的: 我們做了大量的 C++ 開發,厭煩了等待編譯完成,儘管這是玩笑,但在很大程度上來說也是事實。Go 語言起源 200 ...
一、Go的起源
Go語言的所有設計者都說,設計Go語言是因為 C++ 給他們帶來了挫敗感。在 Google I/O 2012 的 Go 設計小組見面會上,Rob Pike 是這樣說的: 我們做了大量的 C++ 開發,厭煩了等待編譯完成,儘管這是玩笑,但在很大程度上來說也是事實。
Go 語言起源 2007 年,並於 2009 年正式對外發佈。它從 2009 年 9 月 21 日開始作為谷歌公司 20% 兼職項目,即相關員工利用 20% 的空餘時間來參與 Go 語言的研發工作。
二、Go的創始人
他們都是電腦科學領域的重量級人物。
1、Ken Thompson
貝爾實驗室 Unix 團隊成員,C語言、Unix 和 Plan 9 的創始人之一,在 20 世紀 70 年代,設計並實現了最初的 UNIX 操作系統,僅從這一點說,他對電腦科學的貢獻怎麼強調都不過分。他還與 Rob Pike 合作設計了 UTF-8 編碼方案。
2、Rob Pike
Go語言項目總負責人,貝爾實驗室 Unix 團隊成員,除幫助設計 UTF-8 外,還幫助開發了分散式多用戶操作系統 Plan 9、Inferno 操作系統和 Limbo 編程語言,並與人合著了《The Unix Programming Environment》,對 UNIX 的設計理念做了正統的闡述。
3、Robert Griesemer
就職於 Google,參與開發 Java HotSpot 虛擬機,對語言設計有深入的認識,並負責 Chrome 瀏覽器和 Node.js 使用的 Google V8 JavaScript 引擎的代碼生成部分。
三、Go的吉詳物
其實是一種英文名為gopher的小動物,中文叫囊地鼠。由Go 設計者之一 Rob Pike 的妻子Renee French 設計
四、Go語言的特點
1、Go語言是編譯型語言。這不同於 Python、Ruby 和 JavaScript 等語言,它們不包含編譯步驟。
2、Go 自帶了編譯器,因此無須單獨安裝編譯器。
3、Go語言具有“部署簡單、併發性好、語言設計良好、執行性能好”等優勢。它起源於 2007 年,併在 2009 年正式對外發佈。
4、Go語言的主要目標是“兼具 Python 等動態語言的開發速度和 C/C++ 等編譯型語言的性能與安全性”。
5、Go語言它不但能讓你訪問底層操作系統,還提供了強大的原生網路編程和併發編程支持。很多知名的開源項目用Go實現,例如:Docker、Go-Ethereum、Thrraform 和 Kubernetes。
6、Go語言是“互聯網時代的C語言”。Go 從C語言繼承了相似的表達式語法、控制流結構、基礎數據類型、調用參數傳值、指針等很多思想,還有C語言一直所看中的編譯後機器碼的運行效率以及和現有操作系統的無縫適配。
7、Go語言沒有類和繼承的概念,它和 Java 或 C# 看起來並不相同。但是它通過介面(interface)的概念來實現多態性。
8、Go語言有一個清晰易懂的輕量級類型系統,在類型之間也沒有層級之說。因此可以說Go語言是一門混合型的語言。
五、語言特性
1、自動垃圾回收
2、更豐富的內置類型
3、函數多返回值
4、錯誤處理
5、匿名函數和閉包
6、類型和介面
7、併發編程
8、反射
9、語言交互性