Go 学习之路 -1. 认识 GO 语言
前言
学习一门新的编程语言,关于它的起源与发展还是有必要了解一下的。了解是在什么情况下诞生,又是怎样发展起来的...
本文大纲
一、起源与发展
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》
版权声明: 本文为 InfoQ 作者【子不语Any】的原创文章。
原文链接:【http://xie.infoq.cn/article/aaf6b36cdad8000cf489e9ef7】。文章转载请联系作者。
评论