为什么那么多人用GO?GO语言的优势在哪里?
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、美团、滴滴以及新浪等!快来学起来吧~
