# 了解go
### Go出生的背景:
??Go最早并不是一個Google的正式項目,而是作為一個"20%"的項目出現的,直到2009年才以開源的方式面向大眾,目前go team有穩定的發布周期,大約半年一個新的版本,最新的是1.8。
??Go語言的出身可以說非常豪華,最早對go語言的討論是由羅伯特·格瑞史莫、羅伯·派克和肯·湯普遜發起的,主要是為了解決c++中出現的問題而發起的項目。肯·湯普遜是c語言和unix的發明者,羅伯特·格瑞史莫參與設計了Java的HotSpot虛擬機和Chrome瀏覽器的JavaScript V8引擎,羅博·派克在大名鼎鼎的bell lab侵淫多年,參與了Plan9操作系統、C編譯器以及多種語言編譯器的設計和實現。
Go語言從2009年開源到現在吸引了很多開發者的注意,分別獲得了2009年和2016年的TIOBE之星,如果說2009年那一次是因為Google的影響,那2016年這一次絕對是自身實力的厚積薄發。
### 為什么需要一個新的語言:
??傳統的語言比如c++,大家花費太多時間來學習如何使用這門語言,而不是如何更好的表達寫作者的思想,同時編譯花費的時間實在太長,對于編寫-編譯-運行這個鏈條來說周期太長。動態語言如Python,由于沒有強類型的約束,很多問題需要在運行時發現,這種低級錯誤更應該交給編譯器來發現。
同時有如下趨勢:
* 人力成本越來越高
* 機器越來越便宜
* 機器的性能越來越厲害
* 在開發效率和運行速度上達到平衡
* 這就是go誕生的背景。
### go語言特性
* Go語言是Google于2009年開源的一門新的系統編程語言,主要有以下特點:
* 靜態編譯
* 垃圾回收
* 簡潔的符號和語法
* 平坦的類型系統
* 基于CSP的并發模型。
* 高效簡單的工具鏈。
* 豐富的標準庫
[https://books.studygolang.com/gopl-zh/](https://books.studygolang.com/gopl-zh/)