Go 语言 Channel 实现原理精要

@draveness 2019-03-24 13:25:14发表于 draveness/blog-comments /golang-channelGitalk

https://draveness.me/golang-channel

Go 语言中的管道 Channel 是一个非常有趣的数据结构,作为语言中一种核心的数据类型,多个 Goroutine 在进行通信时就会使用 Channel 作为中间的通信方式,我们在一节中要介绍的就是 Golang 中 Channel 的实现原理。这一节中的内容总共包含四个部分,我们会先介绍 Channel 的设计原理以及它在 Go 语言中的数据结构,接下来我们会分析常见的 Channel 操作,例如创建、发送、接受和关闭的实现原理,由于在 Range 和 Select 两节中我们会提到 Channel 在不同的控制结构中组合使用时的现象,所以这一节还是会将重点放到 Channel 的常见操作上。