天天看点

Go语言笔记 | 01-为什么要学Go语言

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

还记得前段时间从 Github 传出来的一个话题:求不要更新了,老子学不动了。

但是在今天这个各种新技术层不断更迭的时代,作为程序员为了不被淘汰,只能不断的学习。虽然说不同的编程语言大相径庭,但每种语言都蕴含着自己的思维方式,了解了多门语言也可以在以后编码的过程中互相借鉴。

出身名门

Go 语言起源 2007 年 9 月,并于 2009 年 11 月正式对外发布。这门语言虽然年轻,但是家庭背景很好。它诞生于 Google ,并且由三位大牛:Robert Griesemer、Rob Pike、Ken Thompson 设计和实现。

Go语言笔记 | 01-为什么要学Go语言

Griesemer、Thompson 和 Pike

看到者三个名字也许比较陌生,但是看看他们的故事,也许就熟悉了:

Rob Pike 贝尔实验室 Unix 团队成员,Plan9 操作系统和 UTF-8 的共同设计者,分布式编程语言 Limbo 作者

Robert Griesemer 参与开发了 Java HotSpot 虚拟机和 Javascript V8 引擎

Ken Thompson 贝尔实验室 Unix 团队成员,C 语言、Unix 和 Plan 9 的创始人之一,与 Rob Pike 共同开发了 UTF-8 字符集规范,1983年图领奖得主

按照这个配置,Go 语言绝对算得上是师出名门,语言界的富二代。

生产力工具

作为新世纪的语言,当然也有吸引我们去学习的特点:

  • 简单

简单性是 Go 语言的设计目标

延续了 C/C++ 中很多灵活的特性,但同时也摒弃了一些复杂的功能

整个语言只有 25 个关键字,表达能力强

内置 runtime,支持垃圾回收

  • 高效

编译型语言,运行速度快,接近 C/C++

  • 并发

天然支持并发,这也是 Go 的一个重要特点

内置的 goroutine 和 channel 使得并发编程逻辑简单,通俗易懂。

  • 生产力

快速编译,整个标准库的编译时间只有几十秒

强大的标准类库,规范统一,文档全面

跨平台,真正做到一份源码,随处编译,到处运行

开源项目和公司

有丰富的开源项目,例如:docker(开源容器引擎)、kubernetes(开源容器管理系统)、gin(web开发框架) 等等

更多参考:https://github.com/golang/go/wiki/Projects

使用 Go 的公司也越来越多,例如:Google、YouTube、Dropbox、七牛云存储、京东云平台、美团、豆瓣 等等

更多参考:https://github.com/golang/go/wiki/GoUsers

可观的收入

随着 go 语言不断被广泛使用,其薪资也水涨船高,下图是职友集上北京 golang 职位工资的一份统计数据:

Go语言笔记 | 01-为什么要学Go语言

北京 golang 工资收入水平:https://www.jobui.com/salary/?cityKw=北京&jobKw=golang

更多精彩内容,扫码关注

Go语言笔记 | 01-为什么要学Go语言