# 了解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/)