简介
你可能已对 Go 在并发方面的出色表现有所耳闻。 也许正是这一最突出的功能使 Go 如此受欢迎,让它成为了编写 Docker、Kubernetes 和 Terraform 等其他软件的理想之选。
在开始了解 Go 中并发的工作原理之前,你可能需要忘记从其他编程语言中已经了解的知识。 Go 使用的方法不同。
学习本模块时,你已具备了学习更高级主题(如并发)所需的知识。 尽管如此,我们还是要先说明为什么需要并发。 我们将逐一介绍不同的主题。
建议你练习所有的代码示例,直到你完全理解这些概念之后再继续。 正如你在前面的模块中所经历的那样,实践能帮助你更好地理解概念。
让我们先来看看你将在本模块中学习的内容。
学习目标
在本模块中,你将学习以下内容:
- Go 中并发的工作原理。
- 并发与并行之间的差异。
- 如何在并发程序中使用 channel(通道)进行通信。
- 如何通过实现并发来编写运行速度更快的程序。
- 当你想要启动有限数量的并发调用时,如何编写可以使用缓冲区来利用并发的动态程序。
先决条件
- 准备好创建应用程序的 Go 环境。 理想情况下,你应当已经在本地安装并配置了 Go,并且应当已经安装了包含 Go 扩展的 Visual Studio Code。
- 能够创建和修改
.go
文件。 - 能够使用终端提示符运行 Go 应用程序。
- 了解基本数据类型,例如
string
、int
和boolean
。 - 了解如何编写基本数据控制流,例如
if
和for
语句。 - 了解如何编写函数。
- 了解如何使用库,例如
net/http
。