Go的诞生

Google公司允许员工拿出20%的时间来研究自己喜欢的项目(这也太nice了吧)

几位大佬在烦透了C++编程语言的各种特性后, 决定合伙搞一门新的语言

ps: 可以看到Go主要作者的发量还算可以, 所以学Go应该不会危及到发际线(滑稽)

这个新语言要具有C语言的执行效率还要有足够简单的语法(Less is More), 于是…Go语言(也称为golang)诞生了!

这里贴一张目前主流语言执行效率与开发效率的对比图:

  • “人生苦短, 我用python”, 目前最火的Python语言虽然具有极高的开发效率, 但是执行速度慢依然是它的痛点

  • 老大哥C语言虽然执行速度极快, 但是开发效率实在太低

而Go在具有极快的执行速度外, 还具有相当丝滑的开发效率, 未来可期

Go的吉祥物

Go语言的吉祥物是一只可爱的地鼠(gopher)

我从未见过有哪个编程语言这么注重它的吉祥物

在Go的官网上, 随处可见它的吉祥物(而且都好可爱, 有木有?)

而且我们还可以构造属于自己的Go吉祥物:

贴个地址: http://quasilyte.dev/gopherkon/

我用gopherkon生成了500张不同样的Go吉祥物: https://www.bilibili.com/video/BV1Pr4y1F7bp/

笔者学习Go语言, 很大原因也是被这只可爱的地鼠所吸引 :D

Go的热门程度

截止至2021年1月, Go在Tiobe排行榜(编程语言的热门程度)上位列14:

从2010年至2021年, Go总的来说非常的热门, 而且未来肯定还会有涨的趋势:

Go的特色
  • 没有继承多态的面向对象

  • 强类型语言

  • interface不需要显式声明(Duck Typing)

  • 没有异常处理(Error is value)

  • 基于首字母的可访问特性

  • 不用的import或者变量引起编译错误

  • 完整而卓越的标准库包

  • Go内置runtime

Go的应用领域
  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

  • 分布式系统,数据库代理器等。

  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。

  • 内存数据库,前一段时间google开发的groupcache,couchbase的部分组建。

  • 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。

  • 游戏服务端的开发。

有哪些公司在用Go

国外的公司:

比较熟悉的可以看到有:

  1. 拳头公司!!!! 开发英雄联盟的游戏公司。因为Go的速度, 拳头用它来做游戏服务端

  2. 谷歌公司, 自己员工开发的语言, 当然得自己用

  3. 微软

  4. 推特

  5. 网飞

  6. 脸书等…

国内也有大量公司在用Go改善它们的业务:

前段时间, B站后端源码泄漏, 从语言占比来看, Go占了绝大多数:

贴个github地址: https://github.com/froginwe11/Bilibili-Go-Backup

所以是不是学好Go语言, 就能进B站摸鱼了? (手动滑稽)

写在最后

笔者也是前不久才接触Go语言, 也是一个小菜鸟, 但是有什么比一步步变强(变秃)更热血的呢?

让我们一起朝着Go语言大师的目标前进!