Go语言又称Golang,是谷歌(Google)开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go是基于Inferno *** 作系统(Plan 9 的接替者)开发的,其诞生源于谷歌内部存在的一些编程语言遗留问题。
最初的开发者包括罗伯特·格瑞史莫、罗伯·派克和肯·汤普森。其中罗伯特·格瑞史莫(Robert Griesemer)还曾参与V8 Javascript引擎代码生成,Sawzall和 Java HotSpot的虚拟机设计与实现等。
2007年,Google设计Go,目的在于提高在多核、网络机器(Networked Machines)、大型代码库(Codebases)的情况下的开发效率。当时在 Google,设计师们想要解决其他语言使用中的缺点,但是仍保留他们的优点,并且以“不要像 C++”为主要目标。
2009年11月10日,Go语言以开源方式向全球发布,距今已有12年。
Go语言的语法接近C语言,但对于变量的声明有所不同,支持垃圾回收功能;Go的并行计算模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,Go也具有这个模型的特征,比如通道传输。与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了切片型、并发、管道、垃圾回收功能、接口等特性的语言级支持。
Go用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致;在十年多的时间里,Go语言发展势头强劲,凭借其简洁、高效的特性,在竞争激烈的编程语言市场中占据了一席之地。
与Java、Rust等语言不同,Go语言风格自成一派,它不太需要什么高并发框架,因为Go语言自身就是一个非常强大的高并发框架。Go语言给人的第一印象是非常的极致,它对于代码简洁性的要求非常严格,代码中用不到的Package严禁import,用不到的变量也要求强制删除。
Go语言的优秀范例很多,Docker、K8s、TiDB、BFE等等不胜枚举,即便不参考这些成功的开源项目,仅仅依靠官方给出的示范,也能让一行简单的Go语句表现出技惊四座的性能。在限定代码行数的情况下,Go语言的表现应该是所有框架中最好的。
使用Go语言让程序员可以轻而易举的开发出一款性能强劲的应用程序,而恰恰是这种简单、易用的特性,也会让很多开发者误以为程序的效率卓越是自身编码实力的体现。Go语言想用好简单,但要用精、用到极限却很难,它和一刀流这种东洋剑术门派很像,入门简单,成型快速,但想成为绝顶高手,要走的路其实也是一样漫长。
如今,Google、腾讯、阿里等大公司纷纷选择使用Go语言来开发服务应用项目。你对Go了解多少?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)