共计 1972 个字符,预计需要花费 5 分钟才能阅读完成。
download:PHP+Go 开发仿简书,实战高并发高可用微服务架构
Go(或 Golang)语言起源于 2007 年,2009 年正式公布。Go 是一门十分年老的语言,它的次要指标是“将 Python 等动静语言的开发速度与 C /C++ 等编译语言的性能和安全性联合起来”。
Go 语言是编程语言设计的又一次尝试,是对类 C 语言的重大改良。它不仅容许您拜访底层操作系统,还提供了弱小的网络编程和并发编程反对。Go 语言有很多用处,比方网络编程,零碎编程,并发编程,分布式编程。
Go 语言的引入旨在不损失应用程序性能的前提下升高代码复杂度,具备“部署简略、并发性好、语言设计好、执行性能好”的劣势。目前国内很多 IT 公司都采纳 Go 语言开发我的项目。
Go 语言有时被形容为“类 C 语言”或“21 世纪的 C 语言”。Go 继承了 C 语言的很多思维,比方类似的表达式语法、控制流构造、根本数据类型、调用参数、传递值、指针等。,以及 C 语言始终感兴趣的编译后机器码的运行效率及其与现有操作系统的无缝适配。
因为 Go 语言没有类和继承的概念,看起来和 Java 或者 C ++ 不太一样。然而它通过接口的概念实现了多态性。Go 语言有清晰易懂的轻量级类型体系,类型之间没有档次关系。因而,能够说 Go 语言是一种混合语言。
此外,许多重要的开源我的项目都是用 Go 语言开发的,包含 Docker、Go-Ethereum、Thrraform 和 Kubernetes。
Go 语言创始人
在评估一门语言的时候,了解设计者的动机和这门语言要解决的问题是很重要的。《Go》的作者是肯·汤普森、罗布·派克和罗伯特·格里斯默,他们都是计算机科学畛域的重要人物。
①肯·汤普森
贝尔 Unix 团队成员,C 语言、Unix 和 Plan 9 的创始人之一,在 70 年代设计并实现了最后的 UNIX 操作系统。仅从这一点来看,他对计算机科学的奉献怎么强调都不为过。他还与罗布·派克单干设计了 UTF- 8 编码方案。
2)罗布·派克
Go 语言我的项目总导演,贝尔实验室 Unix 团队成员,帮忙设计了 UTF-8,还开发了分布式多用户操作系统 Plan 9、Inferno 操作系统和 Limbo 编程语言,并合著了 Unix 编程环境,对 UNIX 的设计理念进行了正统的论述。
3) 罗伯特·格里斯默
曾就任于 Google,参加过 Java HotSpot 虚拟机的开发,对语言设计有粗浅的了解,负责 Chrome 浏览器和 Node.js 应用的 Google V8 JavaScript 引擎的代码生成
这些计算机界的重量级人物设计 Go 语言的初衷就是为了满足 Google 的需要。设计这款语言花了两年工夫,融入了整个团队多年的教训和对编程语言设计的深刻理解。设计团队借鉴了 Pascal、Oberon、C 语言的设计智慧,同时让 Go 语言具备了动静语言的便利性。所以 Go 语言体现了经验丰富的计算机科学家的语言设计理念,是为世界上最大的互联网公司之一设计的。
所有 Go 的设计者都说,他们设计 Go 是因为 C ++ 给他们带来了挫败感。在 Google I/O 2012 的围棋设计团队会议上,Rob Pike 是这样说的:
咱们做了很多 C ++ 开发,曾经厌倦了期待编译实现。尽管这是个笑话,但很大水平上也是真的。
Go 是一种编译语言。
应用 Go 编译器编译代码。编译器将源代码编译成二进制 (或字节码) 格局;编译代码时,编译器会查看谬误,优化性能,并输入能够在不同平台上运行的二进制文件。要创立和运行 Go 程序,程序员必须执行以下步骤。
应用文本编辑器创立 Go 程序;
保留文件;
编译程序;
编译后的可执行文件。
这与 Python、Ruby、JavaScript 等不蕴含编译步骤的语言不同。Go 自带编译器,不须要独自装置编译器。
为什么要学围棋语言?
如果你想创立零碎程序或者基于网络的程序,Go 语言是个不错的抉择。作为一种绝对较新的语言,它是由经验丰富和受人尊敬的计算机科学家设计的,以应答创立大规模并发网络程序的挑战。
在 Go 语言呈现之前,开发者总是面临着一个十分艰巨的抉择,是应用一种执行速度很快但编译速度不尽人意的语言(比方 C ++),还是应用一种编译速度很快但执行效率很差的语言(比方。NET 和 Java),还是开发难度低但执行速度个别的动静语言?很显然,Go 语言曾经在这三个条件之间获得了最好的均衡: 疾速编译、高效执行和易于开发。
Go 语言反对穿插编译。例如,您能够开发能够在运行 Linux 的计算机上运行 Windows 的应用程序。这是第一个齐全反对 UTF- 8 的编程语言,这不仅体现在它能够解决 UTF- 8 编码的字符串,而且它的源文件格式也是 UTF- 8 编码的。Go 语言是真正的国内语言!
Go 语言吉祥物
语言有吉祥物。在会议、文档页面、博客帖子中,大部分都会蕴含 Go Gopher,如下图所示。这是由 Renee French 设计的,她是一位才华横溢的插画师,也是围棋设计师之一 Rob Pike 的妻子。