这是我们 Golang 教程系列的第一个教程。本教程提供了 Go 的介绍,并讨论 Go 和其他编程语言对比的优点。我们还将学习如何在 Mac OS、Windows 和 Linux 中安装Go。
介绍
Go 也被称为 Golang,是由谷歌创建的一种开源、编译型和静态类型的编程语言。Go的核心设计者是 Rob Pike、Ken Thompson 和 Robert Griesemer。Go 于 2009 年正式发布。
Go 是一种通用编程语言,语法简单,并有健壮的标准库支持。Go 突出的一个关键领域是创建高可用性和可伸缩的 web 应用程序。Go 还可以用于创建命令行应用程序、桌面应用程序甚至移动应用程序。
Go的优点
当有大量其他语言(例如 python,ruby,nodejs …)可以做同样的工作,为什么选择 Go 作为服务端编程语言?
以下是我在选择 Go 发现的一些优点
语法简单
它的语法简单明了,语言也没有过多不必要的功能。这使得编写可读和可维护的代码变得很容易。
易于编写并发程序
并发性是语言的自带的特性。因此,编写多线程程序是小菜一碟。这是通过Goroutines 和 channels 实现的,我们将在接下来的教程中讨论它们。
编译型语言
Go 是一种编译型语言。源代码被编译成原生二进制文件。这在解释型语言,比如nodejs 使用的 JavaScript 就不能这样子。
快速编译
Go 编译器非常棒,它的设计从一开始就很快。
静态链接
Go编译器支持静态链接。整个 Go 项目都可以静态链接到一个非常大的二进制文件中,并且可以轻松地部署在云服务器中,而不必担心其依赖关系。
Go 工具链
工具链在 Go 中值得特别提一下。 Go 捆绑了强大的工具,可以帮助开发人员编写更好的代码。常用的工具有
gofmt - gofmt 用于自动格式化 go 源代码。它使用制表符进行缩进并且使用空格进行对齐。
vet - vet 分析 go 源代码并报告可能的可疑代码。vet 报告的内容不是真正的问题,但是它能够捕获编译器没有报告的错误,比如使用 Printf 时,格式说明符不正确。
golint—golint 用于识别代码中的样式问题。
垃圾收集
Go 使用了垃圾收集(GC),因此内存管理是自动完成的,开发人员无需担心内存管理。这也有助于轻松编写并发程序。
简单的语言规范
语言规范非常简单。整个规范放在一个页面展示就够了,你甚至可以使用它来编写自己的编译器:)
开源
最后不能不提的,Go 是一个开源项目。你可以参与 Go 项目并为其做出贡献。
使用 Go 构建的明星项目
下面是一些使用 Go 构建的明星产品。
谷歌使用 Go 打造出 Kubernetes。
风靡全球的打包容器 Docker 就是用 Go 开发的。
Dropbox 已经将其性能关键组件从 Python 迁移到了 Go。
- Infoblox 的下一代网络产品是使用 Go 开发的。
下载
Mac,Windows 和 Linux 三个平台都支持 Golang。你可以从 https://golang.org/dl/下载相应平台的二进制文件。
Mac OS
从 https://golang.org/dl/ 下载 Mac OS 安装程序。双击即可开始安装。按照提示操作,你应该在 /usr/local/go 中安装 Golang,并且将文件夹 /usr/local/go/bin 添加到PATH 环境变量中。
Windows
从这个链接下载 MSI 安装程序。双击以开始安装并按照提示进行操作。这将在位置 c:\Go 中安装 Golang,并将目录 c:\Go\bin 添加到 path 环境变量中。
Linux
从这个 https://golang.org/dl/ 下载 tar 文件并将其解压缩到 /usr/local。
将 /usr/local/go/bin 添加到 PATH 环境变量。这将在Linux中安装 Go。
验证安装
要验证 Go 是否安装成功,在终端输入命令 go version,就会输出安装好的 Go 版本。下面是我在终端的输出。
$ go version
go version go1.13.6 darwin/amd64
1.13.6 是编写本教程时 Go 的最新版本。这验证了 Go 已经安装成功。在下一篇教程中,我们将用 Go 编写第一个 Hello World 程序:)
原文链接
_
https://golangbot.com/golang-tutorial-part-1-introduction-and-installation/