写在前面
今年的秋招也算是告一段落了,大部分人在这个过程中都面临着各种各样的选择,比如地点,薪资,平台,语言,异地恋等等一系列问题,更多的人是关心未来职业生涯的发展的发展如何,在牛客网逛了很久,发现转语言这件事也是很多人担心的一点。当然我也不例外,本人是学Java出身,由于工作原因,现在面临转Go语言的情况。所以,最近一段时间我从各种渠道去了解Go的相关情况,特来和大家分享一波,让有同样困惑的同学解开心中的疑虑。
你们要的干货
-
拿数据说话,先看一波各大招聘网站上的数据:
-
智联招聘:岗位数量250+
-
拉勾网:岗位数量太多了没计算
-
Boss直聘:岗位数量太多了没计算
从以上的三个招聘网站可以看出,Go语言在国内市场占有一定的比例,不同规模的企业都有一定的需求量,从图中也可以看出薪资方面在20K+。从秋招的情况来看,我所了解的到的,对Go语言有需求的企业有如下公司:国外有Google,Facebook,Uber等等,国内有bat,字节跳动,京东,小米,360,爱奇艺,哔哩哔哩,滴滴等等
2. 从Go语言本身的特点来看:
优势:
-
Go 的实用程序允许您轻松下载和使用包;
-
静态编译使得在不同环境之间移植代码,并且可以很容易地建立开发环境;
-
本地异步 I/O 机制允许您可以轻松编写高性能的网络代码;
-
内置通道轻松实现和相对安全的数据传输;
-
标准库和包生态系统包含了开发人员能够需要的大多数库;
-
对于几乎所有的使用案例来说,它“足够快”;
劣势:
- 没有枚举;
- 恐慌的零值;
- 依赖关系管理的噩梦;
- 用语言硬编码的可变性;
- 混乱的错误管理;
- Nil接口值;
- 没有泛型(据说2.0会加上);
- ……….
3. 看看其他人怎么说:
-
尽管如此,就像任何曾经使用过Go的人都能告诉你的那样,这是一种非常好的语言。如果我被困在一个只有三种编程语言的岛上,我想go会成为其中之一。
-
Golang很好的平衡了运行性能和程序员的心智负担。说白了就相当于一个运行的飞快的的Python, 谁不喜欢? 在BAT这种有历史代码的公司不好更替, 但是在新公司新项目发展起来如火如荼。在新型领域,如区块链, Newsql, 云计算,Golang和Rust的比例越来越高。
作者:dongmao zhang
链接:https://www.zhihu.com/question/46755408/answer/520507942 -
Go语言可以说是开发效率和运行效率二者的完美融合,天生的并发编程支持。组合的思想、无侵入式的接口,让编程更加自由高效。Go拥有接近C的运行效率和接近PHP的开发效率,这就很有利的支撑了大家追求快速的需求。Go语法非常简练,而且Go自带的资源回收机制,在多线程服务端开发方面设计简单非常多。同时支持比线程更轻量级的携程,调用也非常简单。不像C语言创建线程进程语言参数复杂的系统调用。
作者:笔芯设计匠
链接:https://www.zhihu.com/question/46755408/answer/513943523 -
Go语言简单容易上手,有一点C的经验就很容易上手,转到Go基本上没有什么损失,加之Go的应用领域和C++有很大重叠,很多C++的轮子都有Go语言对应的版本,转到Go之后也不用太过担忧技术栈的偏门。当然Go也有Go自己的缺点,比如烦人的错误码返回机制啊(每一层都要判断err!=nil是挺烦的),鬼畜的大小写开头决定外部可见性啊,用interface{}这种跟void*没啥区别的手段来曲线支持泛型啊,但是就我看来,在现在互联网的快节奏开发中,Go语言作为一门上手简单,性能也不差,开发效率相对C++极高,脚手架齐全,社区活跃,并且在语言层面对并发就有良好支持的语言,还是挺有前途的。
作者:明月照相机
链接:https://www.nowcoder.com/discuss/137731
杂谈
从上面的数据和评论来看,Go语言似乎是有着越来越流行的趋势,很多公司的新系统开始采用Go语言来构建服务,对于我们新人来说,未必不是一个机会,毕竟现在Go正处在一个高速发展的阶段,生态体系不够完善,各方面都需要改进,但是机遇与挑战并存,对于以后跳槽的话,我相信不会存在说技术桟过于狭隘的情况。
写在最后
我也是萌新一枚,对Go的了解也是最近在开始,拥抱变化,才能拥抱未来。
如果文中有不恰当的说法,还请指出(我默默地改回来就行了);
如果有拍砖的,请务必轻拍(我怕疼);
如果有像我一样存在疑虑的同学,希望这篇文章能够有些许帮助,也就达成写这篇文章的初衷了。
最后,祝大家职场顺利,年年加薪!
请发表评论