# Go的起源
--: 作者:Fuzz
时间:2018年8月26日
* * * * *
### 谷歌工程师的20%时间
>谷歌的“20%时间”工作方式,允许工程师拿出20%的时间来研究自己喜欢的项目。语音服务Google Now、谷歌新闻Google News、谷歌地图Google Map上的交通信息等,全都是20%时间的产物。
### PHP、Python、go 诞生时间
#### PHP
> 诞生时间
PHP是1994年由Rasmus Lerdorf开始用perl写的一个网站维护和流量统计小工具。
1995年,用C重写,并发布了PHP1.0.
#### Python
>诞生时间
1991年,第一个Python解释器诞生,它是用C语言实现的,并能够调用C语言的库文件。
#### GO
> 诞生时间
Go 语言起源 2007 年,并于 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼职项目,即相关员工利用 20% 的空余时间来参与 Go 语言的研发工作。
### GO 创始人
![](https://img.kancloud.cn/9e/6b/9e6b904bb67bb156cd3c365aec033f6e_1560x634.png)
>该项目的三位领导者均是著名的 IT 工程师:罗伯特·格瑞史莫、罗勃特·派克、肯尼斯·汤普逊
#### 罗勃特·派克(Rob Pike)
>罗勃·派克(Rob Pike),来自加拿大的程序员,曾经加入贝尔实验室,为 UNIX小组的成员。曾经参与过贝尔实验室九号计划、Inferno,与编程语言 Limbo的开发。他与肯·汤普逊共同开发了UTF-8。
#### 肯尼斯·汤普逊(Ken Thompson)
>肯·汤普逊(英语:Ken Thompson),是美国计算机科学学者和工程师。黑客文化圈子通常称他为“ken”[1]。在贝尔实验室工作期间,汤普逊设计和实现了Unix操作系统。他创造了B语言——C语言的前身,而且他是Plan 9操作系统的创造者和开发者之一。2006年,汤普逊进入Google公司工作,与他人共同设计了Go语言。他与丹尼斯·里奇同为1983年图灵奖得主。
此外,肯·汤普逊还参与过正则表达式和UTF-8编码的设计,改进了文本编辑器QED,创造了ed编辑器。他曾制造过专门用于下国际象棋的电脑“Belle”,并创建了残局数据库。
#### 罗伯特·格瑞史莫(Robert Griesemer)
> 图灵奖得主,C语言前身B语言的作者,Unix的发明人之一, 操作系统Plan 9的主要作者。 共同开发了UTF-8。
### 市面上已经有这么多编程语言了,这三位大佬为什么还要重新写一门语言?
![](https://img.kancloud.cn/38/ce/38cec0be3c240033e37de39cf9c12104_1650x1122.png)
### GO 语言版本版本迭代
* 2007 年 9 月 21 日:雏形设计
* 2009 年 11 月 10 日:首次公开发布
* 2010 年 1 月 8 日:当选 2009 年年度语言
* 2010 年 5 月:谷歌投入使用
* 2011 年 5 月 5 日:Google App Engine 支持 Go 语言
![](https://img.kancloud.cn/b7/9a/b79a04eb0b5264ee397b08cedd2a772f_2284x1006.png)
### GO 的项目
1. docker,golang头号优秀项目,通过虚拟化技术实现的操作系统与应用的隔离,也称为容器;
2. kubernetes,由google开发,简称k8s,k8s和docker是当前容器化技术的重要基础设施;
3. etcd,一种可靠的分布式KV存储系统,有点类似于zookeeper,可用于快速的云配置;
4. tidb,国内PingCAP 团队开发的一个分布式SQL 数据库,国内很多互联网公司在使用;
5. consul,HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置;
6. V2Ray
7. Lantern
8. gin & beego 两个快速开发Go应用的http框架
### 使用GO的公司国内
1. BAT(部分业务)
2. MDT(80%的业务)
3. 知乎
4. 七牛云
5. 哔哩哔哩
6. 京东
7. 小米
8. 360
## GO语言排名
![](https://img.kancloud.cn/2b/b0/2bb0a2c165ef3fc7ee201e7e3f3bf49d_1918x1210.png)
### PHP 待遇
![](https://img.kancloud.cn/55/de/55de13b33f5643eec520b48c1bd2bae8_1772x1220.png)
### GO 待遇
![](https://img.kancloud.cn/58/36/58360ff5c46a2bc0c7e8a8eeff6ee424_1746x1362.png)
> 发现薪资待遇差不了多少,但是注意看一下工作年限,1-3年平均 20起,3年以我就不说啦。
### GO 语言是面向什么编程?
### GO 语言学习难不难
>**25**个关键字
程序声明:import、package
程序实体声明和定义:chan、const、func、interface、map、struct、type、var
程序流程控制:go、select、break、case、continue、default、defer、else、fallthrough、for、goto、if、range、return、switch
### GO 语言课程安排
![](https://img.kancloud.cn/56/63/566369d24c8812f34abf2e4062841d37_1257x1533.png)
### 授课方式
> 授课方式使用,视频学习+学习讨论+学习笔记
> 要求:没人拥有自己的博客,自己的学习笔记。
### GO 语言知识图解
https://github.com/gocn/knowledge/blob/master/Go%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1.png