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