写点什么

Go 学习之路 -1. 认识 GO 语言

作者:子不语Any
  • 2022 年 10 月 01 日
    湖南
  • 本文字数:817 字

    阅读完需:约 3 分钟

前言

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

本文大纲


一、起源与发展

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



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 语言应用


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

五、参阅资料

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


书籍《The Way to Go》

发布于: 刚刚阅读数: 3
用户头像

子不语Any

关注

还未添加个人签名 2022.09.17 加入

还未添加个人简介

评论

发布
暂无评论
Go学习之路-1.认识GO语言_Go_子不语Any_InfoQ写作社区