前言
学习一门新的编程语言,关于它的起源与发展还是有必要了解一下的。了解是在什么情况下诞生,又是怎样发展起来的...
本文大纲
一、起源与发展
GO语言诞生于2007年,并于2009年正式对外开源。它的三个开发者分别是: Robert Griesemer(罗伯特.格利茨默)[下左],Rob Pike(罗伯.派克)[下中]和Ken Thompson(肯.汤普森)[下右]
Go 语言借助开源社区的有生力量达到快速地发展,并吸引更多的开发者来使用并改善它。 Go 语言在 2010 年 1 月 8 日被 Tiobe(闻名于它的编程语言流行程度排名)宣布为 “2009 年年度语言” 后,引起各界很大的反响。
Go语言是谷歌2009年发布的第二款开源编程语言(系统开发语言),它是基于编译、垃圾收集和并发的编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美 C / C++代码的速度,而且更加安全、支持并行进程。
二、GO语言的核心特性
- 并发编程:支持协程(goroutine)并发
- 内存回收(GC)
- 内存分配:极大减少空闲内存碎片化问题
- 编译:编译速度快,检验过程更加严谨
- 网络编程:去中心化、分布式及丰富的网络编程接口
- 函数多返回值:代码层面表现更为简洁
- 异常处理
三、GO语言与热门编程语言比较
与C/C++相比:
- 快速的编译时间,开发效率和运行效率高
- 强大的标准库
- 支持并发编程
- 组合的思想、无侵入式的接口
- 没有异常处理(Error is value)
与Java相比:
- 没有Java的面向对象思想:重载、构造函数、继承等
- 代码规范严格:花括号位置固定,变量名大小写代表公有私有等
- 支持函数式编程:匿名函数,闭包
- 接口非侵入式:不需要显式声明对接口的继承,实现接口的方法即为实现了该接口类型
四、GO语言应用
由上图可以看出,当前越来越多的互联网公司部分后台业务对GO语言的青睐。我们所熟知大名鼎鼎的Docker,就是完全用GO实现的,还有各种有名的项目,如etcd/consul/flannel,七牛云存储等等 均使用GO实现。
五、参阅资料
Go 编程语言的维基百科:WIKI-Go(programming_language)
《The Way to Go》
在掘金(juejin.cn) 一起分享知识,Keep Learning!
本文正在参加技术专题18期-聊聊Go语言框架