智一面

在一月底,我获得字节后端实习的offer之后,由于临近过年,没有立刻入职。寒假闲在家中无聊,开始了对golang的学习。

但是这也引发了我的一个思考:入职字节后,大概率要抛弃之前学习已久的java技术栈,开始学习golang,而在当前的求职市场上,gopher一定是不如java选手吃香的,这对下半年将参加秋招的我,究竟是好是坏?

在学习初期,碰到各种使用的不适应,例如在想到golang如此以简单著称的语言居然还保有指针的时候,我产生了一定的不安和焦躁

但是随着学习的深入,我感受到了golang的魅力,也开始相信golang的发展前景。

我开始意识到,进入字节转为gopher实在是一个可能赢得未来的良好契机。

golang作为类C语言,拥有与C相同级别的编译速度、运行速度,部署方便,又由于内置了垃圾回收机制使得gopher无需考虑内存分配与释放的问题,并且其丰富的标准库也使得很多问题可以得到轻松解决,所以其开发效率又高于C。

这种语言优势必然导致golang的迅猛发展,具体可参考各大语言热度排行榜

具体分析如下:

一、go语言优势:
1.兼顾C语言级别的编译、运行效率,容易部署,PHP级别的开发效率

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

3.简单的并发编程,goroutine和channel极易上手

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

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

二、go语言的劣势:
1.没有异常处理,只有Error

2.依赖管理(已解决√) 1.11推出GoModules

3.缺少框架(已解决√)Gin、Beego、Echo…等等

4.无泛型(正在解决。。。)官博确认正在考虑泛型设计,最快在1.18测试版中加入

三、go语言前景:
1.在云计算、微服务、基础后端软件上具有强大优势

2.得到诸多大厂的"青睐",很多部门由java转golang,新公司甚至直接使用golang

3.优秀开源项目不断涌现,以docker和k8s为代表