1.1.1 Go语言的诞生

Go语言是一门新型的静态类型的编译型语言。Go语言的诞生可能给大多数人带来了一个疑虑:目前已经有了多种编程语言,为什么还要发明Go语言?为什么还要学习Go语言?

在程序开发人员看来,尽管已经出现多种编程语言,但每种语言都有其独特的应用领域,在某个领域使用某种语言能达到收益/投入的最大化。例如,在嵌入式领域,汇编语言和C语言是首选;在操作系统领域,C语言是首选;在系统级服务编程领域,C++是首选;在企业级应用程序和Web应用领域,Java是首选。

最近几年,由于C和C++在计算领域没有得到很好的发展,也没有出现新的、好用的系统编程语言,因此使得开发程度和系统效率等在很多情况下不能兼容。当执行效率较高时,就存在低效的开发和编译,如C++;当执行效率低时,但拥有有效的编译,如.NET、Java等。根据以上情况,就需要一种既有较高效的执行速度,又有高效的编译速度和开发速度的编程语言,因此Go语言就诞生了。

Go语言是由Google公司推出的一个开源项目(系统开发语言),它是基于编译、垃圾收集和并发的编程语言。Go语言最早是在2007年9月由Robert Griesemer、Rob Pike和Ken Thompson联合开发的,2009年11月,Google正式发布Go语言,并将其开源在BSD许可证下发行。

Go语言不仅支持Linux和Mac OS平台,还支持Windows平台。Go语言就是为了解决当下编程语言对并发支持不友好、编译速度慢、编程复杂等问题而诞生的。