Go语言最早并不是一个Google的正式项目,而是作为一个“20%”的项目出现。直到2009年,它被设计成一种系统编程语言,用于具有Web服务器、存储集群或类似用途的大型中央服务器的系统编程语言,目前Go Team有稳定的发布周期,大约半年一个新的版本,目前最新为1.9版本。
对于高性能的分布式系统,GO语言无疑比大多数其他语言更高效。它提供了大量的并行支持,这对于游戏服务端的开发而言是再好不过了。
传统的语言如C++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。
在人力成本越来越高、机器越来越便宜、机器的性能越来越厉害、想要在开发效率和运行速度上达到平衡的趋势趋势下,Go语言诞生了。
我们先来对比一下go语言与其它开源语言比较具有哪些优势?
与C++比,go的开发效率高,具有清晰的依赖管理和全自动垃圾回收机制,代码量大幅减少。
与Java比,更简明的类型系统。
与php比,go在性能上占有明显优势,且通用性和规范性更好,更适合构建大型的软件。
与python比,go在性能上占有明显优势,因为解释型语言与编译型语言在运行速度上不可同日而语,另外go在语法简明和类型系统设计上优于python。
选择GO语言,主要是基于两方面的考虑
执行性能 缩短API的响应时长,解决批量请求访问超时的问题。
在Uwork的业务场景下,一次API批量请求,往往会涉及对另外接口服务的多次调用,而在之前的PHP实现模式下,要做到并行调用是非常困难的,串行处理却不能从根本上提高处理性能。而GO语言不一样,通过协程可以方便的实现API的并行处理,达到处理效率的最大化。依赖Golang的高性能HTTP Server,提升系统吞吐能力,由PHP的数百级别提升到数千里甚至过万级别。
开发效率 GO语言使用起来简单、代码描述效率高、编码规范统一、上手快。
通过少量的代码,即可实现框架的标准化,并以统一的规范快速构建API业务逻辑。 能快速的构建各种通用组件和公共类库,进一步提升开发效率,实现特定场景下的功能量产。
Go语言虽然没有得到广泛的应用,但由于高效、易学、易用、易维护的特性,十分适合开发大型软件,很多大公司都在使用,如Google、Facebook、腾讯、百度、阿里巴巴、京东、小米以及360、美团、滴滴以及新浪等!快来学起来吧~