Go语言的前世今生
时代背景
当今社会主流语言基本都诞生于上世纪90年代或者更早,例如Python(1991)、Java(1995)、C(1972)、C++(1983)、JavaScript(1995)、C#(2001)、PHP(1995)等等,同时我们也需要明白计算机硬件的发展,在2005年4月,英特尔的第一款双核处理器平台包括采用英特尔955X高速芯片组、主频为3.2GHz的英特尔奔腾处理器至尊版840,此款产品的问世标志着一个新时代来临了,那就是双核和多核处理器的时代。我们结合这些标志性的事件来看就不难发现,主流的服务端语言诞生的年代还都是单核年代,也就是说,当时的编程语言还是单核环境下,也就没有我们现在大家耳熟能详的并发编程概念。
Go语言的诞生
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、Mac OS X、Windows等操作系统。
对比上文所举的编程语言,在Go语言诞生的2007年,那时候已经处于双核时代,这就造就了Go语言在设计之初就考虑到了多核CPU下的程序运行,这也就造就了Go语言天生支持多核环境下编程的天赋技能。
Go语言的主要特性
GO语言的主要特性主要包括
- 并发与协程
- 基于消息传递的通信方式
- 丰富实用的内置数据类型
- 函数多返回值
- defer机制
- 反射(reflect)
- 高性能HTTP Server
- 工程管理
- 编程规范
Go语言的应用前景
Go语言凭借着天生的并发优势,出众的性能以及亲民的语法,迅速的蹿红各类IT领域,在人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域都有着广泛的应用。
以下是应用Go语言的公司: