课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍过了go语言的优势以及产生的原因等内容,而今天我们就再来了解一下,学习go语言编程能够满足哪些需求。
一、什么时候可以选择Go?
Go有很多优点,编译快、性能好、天生并发以及垃圾回收,很多比较有特色的内容也还没有说到(比如gofmt)。
Go语言也有很多缺点,比如三方库支持还不够多(相比于Python来说就少的太多了)、支持编译的平台还不够广、还有被称为噩梦的依赖版本管理(已经在改善了,但是还没有达到完全可靠的程度)。
所以到底Go适合做什么,不适合做什么?
分析了这么多后,这个问题其实很难回答,但我们可以选择先从不适合的领域把Go剔除掉,看看我们会剩下什么。
二、Go不适合做什么
极致高性能优化的场景,你可能需要使用C/C++,甚至是汇编;
简单流程的脚本工具、数值分析、深度学习,可能Python更适合(至少目前是);
搭一个博客或网站,PHP何尝不是天下一的语言呢;
如果你想比较方便找到一份的后端工作,绝大部分公司的Java岗一直缺人(在实际生产过程中,目前Go仍没有比Java表现得好太多,至少没有好到让一个部门/公司将核心业务重新转向Go来进行重构);
...
你可以找到类似上面那样的很多场景,你可能会发现Go并不能那么完美地替代掉谁。
三、Go适合做什么
读到这里你可能会觉得,好像是我把Go的特性吹了一遍,然后突然告诉你可能Go不适合你。
Go天生并发,面向并发,所以Go的定位一直很清楚,从浅显的视角来看,至少Go作为一个有较高性能的并发后端来说,是具有非常大的诱惑力的。
尤其对于后端相关的程序员而言,在某些业务功能的初步实现上,简洁的语法、内置的并发、快速的编译,都可以让你更加高效快速地完成任务(前提是Go的内容足以完成你的任务),不用再去担忧编译优化和内存回收、不用担心过多的时间和内存开销、不用担心不同版本库之间的冲突(静态编译)以及不用担心交叉编译平台适配问题。
大部分情况下,编写一个服务,你只需要:实现、编译、部署、运行。
高效快速,足够敏捷,这在企业的绝大部分项目的初期都是适用的,这也是大部分项目对开发初期的要求。当一个项目或者服务真的可以发展下去,需求的确触碰到Go的天花板时,再考虑使用更加好的语言或方法去优化也为时不晚。
简而言之,尽管Go的过于简洁带来了很多问题(有些人说的难听点叫过于简单),Go所具有的优点,可以让大部分人用编程语言这种工具,来解决对他们而言更加重要的问题。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!