认识GO语言【GO学习之路】

315 阅读2分钟

newlogo.png

前言

学习一门新的编程语言,关于它的起源与发展还是有必要了解一下的。了解是在什么情况下诞生,又是怎样发展起来的...

本文大纲

GO语言介绍.png

一、起源与发展

GO语言诞生于2007年,并于2009年正式对外开源。它的三个开发者分别是: Robert Griesemer(罗伯特.格利茨默)[下左],Rob Pike(罗伯.派克)[下中]和Ken Thompson(肯.汤普森)[下右]

aa.jpg

Go 语言借助开源社区的有生力量达到快速地发展,并吸引更多的开发者来使用并改善它。 Go 语言在 2010 年 1 月 8 日被 Tiobe(闻名于它的编程语言流行程度排名)宣布为 “2009 年年度语言” 后,引起各界很大的反响。

Go语言是谷歌2009年发布的第二款开源编程语言(系统开发语言),它是基于编译、垃圾收集和并发的编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美 C / C++代码的速度,而且更加安全、支持并行进程。

二、GO语言的核心特性

  1. 并发编程:支持协程(goroutine)并发
  2. 内存回收(GC)
  3. 内存分配:极大减少空闲内存碎片化问题
  4. 编译:编译速度快,检验过程更加严谨
  5. 网络编程:去中心化、分布式及丰富的网络编程接口
  6. 函数多返回值:代码层面表现更为简洁
  7. 异常处理

三、GO语言与热门编程语言比较

与C/C++相比:

  • 快速的编译时间,开发效率和运行效率高
  • 强大的标准库
  • 支持并发编程
  • 组合的思想、无侵入式的接口
  • 没有异常处理(Error is value)

与Java相比:

  • 没有Java的面向对象思想:重载、构造函数、继承等
  • 代码规范严格:花括号位置固定,变量名大小写代表公有私有等
  • 支持函数式编程:匿名函数,闭包
  • 接口非侵入式:不需要显式声明对接口的继承,实现接口的方法即为实现了该接口类型

四、GO语言应用

1641730da1fe6861.jpg 由上图可以看出,当前越来越多的互联网公司部分后台业务对GO语言的青睐。我们所熟知大名鼎鼎的Docker,就是完全用GO实现的,还有各种有名的项目,如etcd/consul/flannel,七牛云存储等等 均使用GO实现。

五、参阅资料

Go 编程语言的维基百科:WIKI-Go(programming_language)

《The Way to Go》

掘金(juejin.cn)  一起分享知识,Keep Learning!

本文正在参加技术专题18期-聊聊Go语言框架