写点什么

Go 语言系列:Go 从哪里来,Go 将去哪里?

作者:.
  • 2022 年 7 月 25 日
  • 本文字数:3528 字

    阅读完需:约 12 分钟

Go语言系列:Go从哪里来,Go将去哪里?

前言

最近打算拓展一下自己的技术范围,按照自己的职业规划,是时候开始学习一门后端语言了。所以不出意外,后面的更文将会开启新的一个系列,那就是关于Go语言的相关学习和实践,争取不让自己从入门到放弃。


那再来说说那么多后端语言,为什么选择去学习Go语言呢?其实原因有二,首先那就是让自己不被码农这个群体淘汰,多一个吃饭的技能就多一条路;其次就是Go语言相对于其他服务端语言来说入门相对轻松,前景也相对明朗,毕竟它现在已被广泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。


所以我们要抓住趋势,紧跟技术前沿,争取做技术的领导者。目前虽然是在跟随者的阶段,但相信这只是暂时的,不久的将来肯定会成为行业的领跑者。下面就来深入的讲解为啥选择去学习Go语言这门技术,请往下看→

一、Go 语言的诞生

古语有云:“往古者,所以知今也”。在决定学习探究Go语言之前,了解一下它的诞生背景是很有必要的。这还得从谷歌工程师的20%时间说起,谷歌的20%时间工作方式就是允许工程师拿出20%的时间来研究自己喜欢的项目,其间产出的成果有:谷歌新闻、谷歌地图上的交通信息、语音服务等,这些全都是20%时间的产物。


而我们的主角——Go语言也是20%时间的产物。

1.1 什么是 Go 语言?

Go语言出现之前,很多编程语言都有或多或少的问题存在,如C++执行效率高但是开发和编译就很低效;.NETJava执行低效但是编译却很高效。所以基于这些语言存在的问题,Go就带着拥有高效执行速度、编译速度和开发速度的使命横空出世了。


百度百科的解释来阐述一下Go语言的概念:


Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。


它是由图灵奖获得者、C语法联合发明人、Unix之父肯·汤普森(Ken Thompson),Plan 9操作系统领导者、UTF-8编码的最初设计者罗伯·派克(Rob Pike)以及JavaHotSpot虚拟机和Chrome浏览器的JavaScript V8引擎的设计者之一罗伯特·格瑞史莫(Robert Griesemer)三个人开发的编程语言。



Go语言之所以叫Go,其实是想表达这门语言的执行速度、编译速度、开发速度和学习速度都像gopher一样快。gopher是一种生活在加拿大的小动物,Go语言的吉祥物就是这个小动物,它的中文名叫做囊地鼠,它们最大的特点就是挖洞速度特别快。所以这再一次表达了Go语言的出现将带来变革和人们对其的高度期望。


1.2 Go 语言的优势

Go语言有何优势这对于刚入门的人来说,肯定是没有特别深的认识和理解的,但是可以从网上获取一些前人总结得出的优势进行参考,提前了解Go语言的潜在优势可以助推主动学习的动力,提升对其认识的兴趣,从而激起探索征服Go语言的浓厚欲望。


Go语言的优势有如下几点:


  • 兼顾C语言级别的编译、运行效率,容易部署,PHP级别的开发效率

  • 强大的标准库,内置高效的垃圾回收机制

  • 简单的并发编程,goroutinechannel极易上手

  • 静态类型语言,拥有强大的编译检查、严格的编码规范

  • 背景强大,由三位骨灰级大师创造,google公司运营维护


参考资料:站在山顶上看golang的前世今生与未来展望——作者:linux 开拓者

1.3 Go 语言适合做什么?

通过上述的优势介绍,应该对Go语言适合做什么有一定的了解了吧!其实Go语言主要用于服务器端开发,它的定位就是用来开发大型软件服务的,适合开发周期长,支持云计算的网络服务项目。


Go语言在作为服务器端语言时,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;其次在网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

二、Go 语言的现状

Go语言因为简单易学,性能强劲和原生支持并发的特点,深受开发人员的青睐,关注度也在逐年上升。根据调查,使用Go语言的开发的开发者在全球范围内高达近300万。而在中国使用Go语言的开发者更是接近45万左右,并且这个数字还在继续增长,所以对于我们这些想要学习Go语言的新人来说,前景还是挺友好的,现状足以让我们对其充满信心。下面就从四个方面展开说说Go语言的现状,请往下看→

2.1 从受欢迎程度

上述的数据还是不那么直观体现,作为程序员还是得去专业的网站上查看其真实的现状。下面就分别从GithubStack Overflow上看看Go语言的真实情况。



首先看到的这张图统计的是学习编程、脚本和标记语言中想要学习语言的统计图。可以看到Go语言的吸引力已慢慢追赶上来,这和上述统计的数据是呈正向反馈的,所以前景是极好的。



接着,上面这张图则是github上搜索go时得到的数据结果图。可以看到和go相关的代码仓库或是代码片段的数量也是惊人的,可以说Go语言的生态还是相当完善的。


上述的图示足以看出,Go语言的受欢迎程度是真的不错,再加上日益完善的社区和生态,可使刚进入Go语言开发的新人来说是一个不错的迹象。

2.2 从公司角度

接着,从公司角度再来看看Go语言开发项目业务,在互联网公司中的使用情况。越来越多的公司都已经在使用Go语言开发项目业务,主要还是由于Go语言在1.2中提到的优势决定的:谷歌大厂开发的、有专门的团队在维护、天然支持并发、语法简洁易上手、再加上性能优异就能节省机器,节约成本等诸多优势,促使团队在做技术选型时选择Go语言。


那‘越来越多’的公司使用Go语言,其中就包括像 Google、Facebook、阿里、京东、今日头条、小米、滴滴、七牛云、360 等明星公司,有了这些明星大厂的站台,那它岂不更上一层楼,这也使其逐渐被很多创业公司所青睐了,所以既然有这么多的大厂都在使用,那我们就更不必去担忧它中途被无情抛弃了。

2.3 从业务角度

在前文1.3中就提到,Go语言适合的一些开发场景。随着新兴技术的发展,更多的可能也在不断涌现,像近年来火出圈的区块链更是带动了Go开发工程师的需求,很多区块链的大项目均是使用Go语言进行开发的,足以说明Go语言在分布式系统中的地位,这也使大批搞金融的公司也在招聘Go开发工程师了。


其次像在云计算、云平台、微服务、大数据、物联网等领域,也不乏看到Go语言的影子。但是Go语言在移动端开发的项目却少见,仅使用在提供后端接口服务和一些web服务的业务场景。后续应该能预见其在机器学习领域的表现,毕竟Go语言在机器学习正朝着普及的方向前进中。

2.4 从薪资角度

说一千道一万,到最后还是得在薪资上体现,尽管它如何如何牛皮,没有人买单那也是竹篮打水一场空。那下面就来看看现在市场上从事使用Go语言开发的人员的薪资情况,这也可以让刚踏入这个门类的新人真切地去感知Go语言开发的市场需求和真实的买单情况。


下面就是在Boss招聘平台进行统计的结果图示:



从图上可以看到,今年7月份薪资中位数为¥13293,比较上月下降了3.31%,其中47%Golang开发工程师任职年龄在25岁-29岁,下降的原因主要还是因为疫情的反复,造成的工作机会的不稳定,再加上统计的是全国城市得到的数据结果,从而拉低了在北上广深杭等城市的基础月薪,但总体还是偏好的趋势。



接着,上图统计的则是工作年限薪酬的分布情况。可以看到随着工作年限的增长,薪酬也是再不断的陡升趋势,并且起点还不低,这就是Go语言被接受的买单真实写照。


通过上面两张图的展示,可以得到Go语言开发工程师被市场的认可和接纳还是挺友好的,相比一些热门门类来说的话,比如前端开发,简直羡慕至极,所以入门Go语言得赶紧提上日程了。


三、Go 语言的前景

3.1 前景

随着Go语言技术成熟度提高和行业应用经济效益逐步显现,越来越多的企业开始竞相招揽人才并投入到Go语言领域。像阿里、腾讯、百度等科技巨头正凭借已有的信息技术优势纷纷抢滩布局,万达、邮政,银行等传统行业也视Go语言为战略性机会;还有一些创业公司也凭借Go语言独有的应用想法和逻辑,快速开拓新的领域和市场份额。



总之,Go语言技术的突飞猛进,正深刻影响着互联网的发展。Go语言近年来的增长也引起了人才需求的渴求。由于人才极度稀缺,在未来数年内,Go语言都将处于快速上升的时期,谁先入行,谁的技术过硬,谁就能占据更多优势和机会。心动不如行动,赶紧学起来吧!

3.2 如何学习 Go 语言?

不管是学习啥语言,都不能纸上谈兵,还得不断的实践。实践是检验真理的唯一标准,没有捷径可走,只有不断的夯实基础,才能游刃有余的面对一切可能。


下面就是我学习Go语言所浏览的网页收集:


  1. Go 语言中文网:http://c.biancheng.net/golang/

  2. 菜鸟教程:https://www.runoob.com/go/go-tutorial.html

  3. 犬小哈教程:https://www.quanxiaoha.com/golang/linux-install-golang.html

  4. Go by Example:https://gobyexample.com/

  5. 地鼠文档:https://www.topgoer.cn/

后语

伙伴们,如果觉得本文对你有些许帮助,点个👍或者➕个关注再走呗^_^ 。另外如果本文章有问题或有不理解的部分,欢迎大家在评论区评论指出,我们一起讨论共勉。

发布于: 19 小时前阅读数: 38
用户头像

.

关注

像狗一样奔跑 2020.02.06 加入

向阳而生

评论

发布
暂无评论
Go语言系列:Go从哪里来,Go将去哪里?_后端_._InfoQ写作社区