go基础知识 · go 日记 · 看云
# 了解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/)