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数据. 速度 高铁.成本高,断电即消失. 硬盘:相当于你电脑的数据库,存储着 ...
随机推荐
- Markdown里常用的HTML元素
转义:\ 换行:<br/> 红色文字:<font color=#FF0000>字体改成红色了</font> A标签 新窗口:<a href="xxx ...
- Linux日志文件(常见)及其功能
日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息.系统的启动信息.系统的安全信息.邮件相关信息.各种服务相关信息等.这些信息有些非常敏感,所以在 Linux 中这些日志文 ...
- Netty服务端Server代码说明
本文是简单的Netty启动服务端代码理解笔记 public class MyServer { public static void main(String[] args) throws Excepti ...
- Golang 性能优化实战
小结: 1. 性能查看工具 pprof,trace 及压测工具 wrk 或其他压测工具的使用要比较了解. 代码逻辑层面的走读非常重要,要尽量避免无效逻辑. 对于 golang 自身库存在缺陷的,可以寻 ...
- ElasticSearch基本简介(一)
一.ES简介 1,什么是ES ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式的全文搜索引擎,其对外服务是基于RESTful web接口发布的.Elasticsearc ...
- [BJOI2016]水晶 做题心得
[BJOI2016]水晶 做题心得 这是一个写了我两小时的傻逼题.写这个题浪费了一堆时间后,我才意识到我码力又不行了.于是整理起了实现技巧,开始练码力. 思路 不难.首先把 \((x,y,z)\) 变 ...
- flutter--Dart基础语法(一)
一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,Flutter 开源.免费,拥有宽松的开源协议,支持移动.Web.桌面和嵌入式平台. ...
- redis学习教程三《发送订阅、事务、连接》
redis学习教程三<发送订阅.事务.连接> 一:发送订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redi ...
- spark SQL (四)数据源 Data Source----Parquet 文件的读取与加载
spark SQL Parquet 文件的读取与加载 是由许多其他数据处理系统支持的柱状格式.Spark SQL支持阅读和编写自动保留原始数据模式的Parquet文件.在编写Parquet文件时,出于 ...
- CCF-命令行选项(模拟)
命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母组 ...



