【Go-01】Go如何?值得学习吗?

一Go到底 / 2022-10-26

🚀Go值不值得学?前景如何?

📓推荐网站(不断完善中):个人博客

📌个人主页:个人主页

👉相关专栏:CSDN专栏个人专栏

🏝立志赚钱,干活想躺,瞎分享的摸鱼工程师一枚

🏖前言

在疫情的大环境下,从17年开始就有在鼓吹Go语言,到19年左右迎来一次小爆发期(可能是因为区块链的火热),那么Go语言是否值得学?以及发展的前景如何?以下为本人个人观点,不代表行业方向!


1.什么是Go?

几个常见的说法来形容Go

  • 谷歌亲儿子(谷歌公司力荐-可以说是编程界的世家少爷)
    • Go的核心开发团队人员多为谷歌人员,比较有名的包含肯·汤普森(C语言主要开发人员)、罗布·派克(Unix主要开发人员)等
  • 编译型语言
    • 编译型语言简单来说就是,代码写完之后可以直接得到计算机可执行文件(类似于.exe这样),不需要通过解释器(比如虚拟机)来将代码进行翻译然后再给计算机执行,某种程度上来说更简单便捷
  • 21世纪的C/C语言(效率高,但是远比C与C的学习成本低)
    • 天生即可支持并发

2.为人乐道的优势

  • 语法简洁,学习成本低
  • 开发效率高,性能强
  • Go本身有专门的代码格式化模块,解决代码格式的问题,解决不同程序猿之间代码风格不同的问题

3.发展

  • 该语言2007年开始出现,2009年推出第一个版本发展至今,并且在github中的搜索率和语言使用率也在逐年上升
  • 各大互联网大厂在将一些内部业务转向Go语言
  • 在区块链有着独特的优势
  • 一些常见的应用平台也采用Go语言或者用Go语言重构平台来节约服务器性能
    • 例如知乎、斗鱼、腾讯蓝鲸平台、滴滴、七牛云(国内最早用Go语言的存储服务商)、京东云

4.应用领域

  • 区块链应用

  • 后端服务器相关

    个人感觉目前针对于流量支持的行业比较多

    • 斗鱼的直播(Jupiter框架)
    • 知乎网站框架
    • 美团的流量支持服务(搜索排名、推荐系统等)
  • 云原生

    • 京东云
    • 七牛云(国内首个用Go做存储服务)
    • 盛大云
  • 虚拟化/运维

    • Docker(go开发的)
    • K8s

5.工作方向个人看法

个人在了解了Go语言之后面对当前的环境(赚钱)还是有一些不同角度的看法

  • 是否会成为未来的趋势?
    • 首先趋势我觉得是很大概率的,因为无论从出身、使用行业、开发难度来说都符合当下的软件生产力需求,很大概率是可以成为比较强势的开发语言
    • 在现在各大互联网厂内部转Go的行情下,有可能会出现与当初阿里Java系一样(当初阿里的技术人员学成去外部创业、跳槽等)引导了国内大部分互联网公司的基础技术架构语言Java),后续的创新公司或者互联网公司会大面积变更技术架构。
  • 会顶替Java?
    • 顶替Java的位置暂且很难
      • 首先Java在国内的应用范围和占比太大(阿里系带头下),也许一线城市语言变更很快,但是很多二三线城市仍然是采用更稳定的开发方式(Java经历这么多年非常稳定、框架多、解决方案也更成熟)
      • 在大比例的情况下,就算Go语言覆盖率提升,那么也仍然有很多Java的老项目总需要有人维护吧?所以很难快速顶替Java的地位的
  • 适合毕业生作为第一语言吗?
    • 个人感觉不适合
      • 请不要盲目听从网上培训机构的吹鼓,Go的薪资确实比Java高,但是你要明白目前市面上很多Go语言的工程师也是C++/Java的工程师转岗的,人家在进行一个新的领域的尝试的同时更希望的应该是有工作经验的人,能够共同解决问题,对应届生来说并不友好
      • 就算一线城市有Go的岗位,二三线城市的主要语言仍然是Java和前端占据大片江山(不是所有人都愿意去北上广深卷的),在二三线城市就更不用说了,招聘Go语言的公司都尽量希望该工程师是有工作经验的
    • 初始语言的选择
      • 个人仍然认为初始语言的选择仍然可以是Java、前端为主,就算是C#也好,出来工作大部分人应该是为了赚钱吧…如果你说你有代码信仰、语言信仰当我没说
      • Go语言比较适合当作工程师的第二语言,在面向当前社会风口的情况下做好准备,随时起跳!

🏜写在最后

以上内容都为目前自己的个人感受,不代表任何行业方向。

码字不易,点个赞吧!

快乐与分享!