这是我们 Golang 教程系列的第一个教程。本教程提供了 Go 的介绍,并讨论 Go 和其他编程语言对比的优点。我们还将学习如何在 Mac OS、Windows 和 Linux 中安装Go。

介绍

Go 也被称为 Golang,是由谷歌创建的一种开源、编译型和静态类型的编程语言。Go的核心设计者是 Rob PikeKen Thompson 和 Robert Griesemer。Go 于 2009 年正式发布。

Go 是一种通用编程语言,语法简单,并有健壮的标准库支持。Go 突出的一个关键领域是创建高可用性和可伸缩的 web 应用程序。Go 还可以用于创建命令行应用程序、桌面应用程序甚至移动应用程序。

Go的优点

当有大量其他语言(例如 python,ruby,nodejs …)可以做同样的工作,为什么选择 Go 作为服务端编程语言?

以下是我在选择 Go 发现的一些优点

语法简单

它的语法简单明了,语言也没有过多不必要的功能。这使得编写可读和可维护的代码变得很容易。

易于编写并发程序

并发性是语言的自带的特性。因此,编写多线程程序是小菜一碟。这是通过Goroutineschannels 实现的,我们将在接下来的教程中讨论它们。

编译型语言

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 版本。下面是我在终端的输出。

  1. $ go version
  2. 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/