5分钟学Go 基础01:初识 Go 的第一印象是薪水可观
本文首发于公众号「5分钟学Go」,一个让你每次花 5 分钟就能掌握一个技能点的公众号。目前在博主连更 5 分钟学Go系列,大家可以关注下,第一时间掌握Go技能。如果想要加群交流,可以在公众号后台回复「加群」,回复「gogogo」,还有博主精心整理的一份Go语言从入门、进阶到高阶的学习宝典。欢迎你的关注。
最近几年,随着云计算、区块链等技术的发展,有一门语言逐渐成为大家热衷讨论的对象,成为了继 Python 之后的另一块香饽饽,那就是 Go 语言。
其实如果要追溯历史的话,Go 语言诞生于 Google,从 2007 年便开始设计,并于 2009 年 11 月 10 日正式发布第一版,此后便开始在 Google 内部使用。
正如 Python 借助 AI 的东风大火一样,Go 语言大范围的使用和普及也是借助了云计算、区块链等技术的东风,特别是云计算,以 Google 开源的 Kubernetes 为代表,Go 逐渐成为了云计算领域的第一首选语言,目前还没有竞争对手。
国内最早全面使用 Go 语言的公司要属七牛云了,其创始人许式伟说过一句话:“Go 语言是互联网时代的 C 语言”。可想它如今的地位是不言而喻的。
下图是 2020 StackOverflow 的调查,左边是最流行的语言排行榜,右边是最热门的语言。流行看的是历史地位和应用程度,而热门更多看的是近来的关注程度。
| 最流行的语言 | 最热门的语言 |
|---|---|
![]() |
![]() |
可以看到,Go 语言应用范围具有一定的局限性,所以流行程度并不高,但关注程度是相对较高的,特别是对比前几年的数据你会发现,它是一直增长的。
接下来再来看下大家比较关心的一个问题:哪种语言的薪资较高?毕竟程序员这个行业,回归到现实,都是“面对薪资编程”。如下图所示,左边是 2019 年的数据,右边是 2020 年的数据。
| 2019编程语言薪水排名 | 2020编程语言薪水排名 |
|---|---|
![]() |
![]() |
可以看到,Go 语言的薪水排名都稳居前三甲。所以,综合来看,Go 语言是今后最值得学的一门语言。
那 Go 语言到底有哪些优势呢?为何能成为云计算领域的第一大语言?下面简单说说,更多内容在后面的文章中我们会逐一展开。
首先它是一种静态、强一致类型、编译型的系统级编程语言。这几个关键字可能不那么好理解,但是看完下面这幅图相信你能理解个大概:

从类型来看,Go 语言和 Java 语言同处于第一象限,但它编译型、系统级的特性又让它具备 C/C++ 语言的高性能的特性。
其次一个比较重要的优势是 Go 天然支持高并发,小白也能轻松写出高并发代码。
最后值得一提的是 Go 语言的语法简单,学习曲线平坦,开发效率可以和 Python 媲美。
此外,还有很多的优秀特性,后面会带大家逐一领略(大家可以关注下公众号,每天第一时间收到推送,花 5 分钟就可以掌握一个 Go 技能点)。
看到这里大家一定很好奇,有哪些开源项目是使用 Go 语言开发的?
Go 生态系统有众多明星开源软件:Docker、Kubernetes、Rancher、istio、Drone、Lantern、Hyperledger、Caddy、Prometheus、InfluxDB、etcd、CockroachDB、TiDB、Gogs ...
(这里有一份开源的关于 Go 优秀的软件、库和框架:Awesome Go)
极客时间的郝林在他的专栏里也整理过一张使用 Go 语言开发的开源项目大图,非常全。

OK,今天就到这里,本文是 5 分钟学 Go 语言的第一篇,先让大家对 Go 有个大概的印象,后面会展开更多的内容,没关注的朋友可以关注下,一起抱团学习。就像一句话说的:
学习 Go 语言,最好的时间是 10 年前,其次是现在。

5分钟学Go 基础01:初识 Go 的第一印象是薪水可观的更多相关文章
- 076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学
076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学 本文知识点:Java面向对象导学 说明:因为时间紧张,本人 ...
- 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字
081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...
- 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...
- 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象
079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...
- 078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类
078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类 本文知识点:创建类 说明:因为时间紧张,本人写博客过程中只是对知识点的关 ...
- 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象
077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...
- 30分钟学玩转RabbitMQ
最近在学习RabbitMQ,在网上找了不少资料发现都特高端.动辄集群部署,分布式架构什么的,对于一个初学者实在不够友好.心想求人不如求自己,为什么不自己整理一套资料呢?于是<30分钟学玩转Rab ...
- LibreOJ 2003. 「SDOI2017」新生舞会 基础01分数规划 最大权匹配
#2003. 「SDOI2017」新生舞会 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 316python 基础之计算机基础、Python简介、变量、注释、基础数据类型初识、if、while、语句
一.计算机基础. cpu:相当于人的大脑,运算与控制中心. 速度 飞机 内存:4G,8G,16G....暂时存储,供给cpu数据. 速度 高铁.成本高,断电即消失. 硬盘:相当于你电脑的数据库,存储着 ...
随机推荐
- Scrapy——將數據保存到MySQL數據庫
Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...
- VMwareWorkstation 平台 Ubuntu14 下安装配置 伪分布式 hadoop
VMwareWorkstation平台Ubuntu14下安装配置伪分布式hadoop 安装VmwareStation 内含注册机. 链接:https://pan.baidu.com/s/1j-vKgD ...
- Microsoft Windows的消息循环
https://zh.wikipedia.org/wiki/Microsoft_Windows的訊息迴圈 微软视窗操作系统是以事件驱动做为程序设计的基础.程序的线程会从操作系统获取消息.应用程序会不断 ...
- 如何在opencv下使用SIFT
SIFT即尺度不变特征变换,是用于图像处理领域的一种描述.这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子.SIFT的尺度不变特征变换在图像特征点匹配中十分关键,因为我们从不同角度 ...
- xftp 提示无法显示远程文件夹
在用xftp远程服务器,打开文件夹的时候一直提示"无法显示远程文件夹" 解决方案: 1.网上大多解决方案是文件->属性->选项->将使用被动模式选项去掉即可 2. ...
- 一个sql盲注小工具 (Golang版)
并发,二分法判断. 源码写的有点垃圾,有点乱,结果也存在一些缺失. 记录: sql:select distinct 中的distinct选项,这是只会获取你表中不重复数据,是表中,而不是你一次sql执 ...
- Vue技术点整理-指令
我们通常给一个元素添加 v-if / v-show 来做权限管理,但如果判断条件繁琐且多个地方需要判断,这种方式的代码不仅不优雅而且冗余. 针对这种情况,我们可以通过全局自定义指令来处理:我们先在新建 ...
- 小程序UnionID浅谈
UnionID机制说明 如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包 ...
- 六:SpringBoot-集成Druid连接池,配置监控界面
SpringBoot-集成Druid连接池,配置监控界面 1.Druid连接池 1.1 Druid特点 2.SpringBoot整合Druid 2.1 引入核心依赖 2.2 数据源配置文件 2.3 核 ...
- 2020第十一届蓝桥杯第二场JavaB组
第一题:门牌制作(624) 题目大意: 判断1到2020里面共有多少个'2': 解析: 本题简而言之就是找'2'这一个数 第一种方法:遍历将其转换为字符然后再遍历寻找 第二种方法:直接用数值的方法进行 ...



