阿里,字节为何都如此偏爱 Go 语言?
共 1475字,需浏览 3分钟
·
2021-07-08 17:47
昨天交流群里的一条发言,激起了不小的水花,一位群友最近面试 Java 方向的工作都不是很顺利,于是抱着试一试的态度把 Java 方向的简历改成了 Go 方向的,结果还挺令人吃惊的。
不少群友都对这种情况表示惊讶和不解,纷纷单独找我了解 Go 语言的相关情况。
1、很多人都在问我,到底该不该学习Go语言。直接给你答案吧,你也不信。所以,在正式回答之前,我们还是先说说,到底怎么判断一门语言是不是有前景。
2、左耳朵耗子之前曾经分享过他的经验,看一个技术能不能火起来,主要从三个角度,第一,有没有雄厚的资金支持。第二,有没有一个活跃的社区。第三,有没有杀手级的应用。这个逻辑对不对,你可以用Java以及另外一门没有火的技术来印证下。
3、就拿Go来说,他背靠Google公司,社区非常活跃,并且有Docker、Kubernetes这样的杀手级应用。现在,我们已经看到,Go是云计算时代的首选编程语言,并且,我还可以很确定的说,它正在成为下一个企业级编程语言。
4、Go语言是字节跳动内部使用最多的编程语言。为啥?因为字节跳动更看重效率,Go语言上手简单,学习难度低。另外, Goroutine 和 Channel 这两个神器可以很好解决并发和异步编程的问题。它是新一代的编程语言。
5、如果你的第一语言是PHP,或者Python,或者C#,并且职位是后端工程师,那我还是建议你学学Go。不是鼓吹Go,是我觉得这是趋势,我们不管是写程序,还是做其他事情,都应该顺应时代。
6、云原生是趋势,大部分云原生项目都是用Go写的。如果你想研究Kubernetes,不懂Go可以吗?Java那个赛道很拥挤,如果你想脱颖而出,为什么不试试Go呢?
虽然都说 Go 上手容易,但是想要真正的会使用 Go 语言进行项目的编写,就没有那么容易了。因为大部分人在学习和使用 Go 语言 的过程中,都遇到过这么几个的困境:
一看就会,一写就懵;书籍或别人的代码基本能看懂,但自己写项目时却不知道如何下手;
写出来的代码有浓重的其他语言味道;
貌似都懂,面试就露馅;只会简单使用,不知道如何深入了解、如何进阶;
工程化实践经验为 0 ;只会基于别人的框架填代码,不会自己进行工程化;搬砖似乎永远没有竞争力;
说实话,这些问题我自己也遇到过。因为我们大多数人对于 Go 的学习可能仅限于语法,却不清楚它背后的设计原理,没有亲手做过项目。
现在机会来了,极客时间重磅出品 Go 语言基础直播课,3 天带你掌握 Go 语言背后的设计原理及实现方式。
挑战 3 天成功 Go 初级工程师!
如何 0 元学?