什么是 Channel

未匹配的标注

在 Go 语言中有句至理名言是这么说的: “不要通过共享内存来通信,而应通过通信来共享内存”.

可见通信是至关重要的一点,那么如何实现通信呢?

Go 提供了一个原语来作为通信的媒介,我们通常称之为 “管道 / 信道 / 通道”.

我们暂时先抛开到底是哪个原语不说。先来看看生活中的管道.

生活中的管道 / 信道 / 通道#

为了便于理解,我们看看生活中的管道 / 信道 / 通道.

水管和电管:

火车轨道:

当然还有很多的例子.

想想当电跑到水管里,汽车在火车轨道上跑… 会发生点什么?

这个一个值得深思的问题.

但可以知道的是一个明确的数据类型可以有效减少混乱和复杂度.

我们再来个例子看看生活中的信道:

满满都是回忆的儿时玩具: “纸话筒”.

连接两个纸话筒的那根线就是一种信息媒介,俗称信道.

类似还有电话线,网线等等.

而在 Go 语言中,这种数据媒介叫做 channel, 关键字为 chan, 也就是我们前面所说的原语.

小白表示为什么非要简写呢?本来单词就认识的不多,平添困扰.

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
taadis
讨论数量: 0
发起讨论 只看当前版本


暂无话题~