【Go简明手册】Go并发编程——channel
channel
是goroutine
之间互相通讯的东西。类似我们 Unix 上的管道(可以在进程间传递消息),用来 goroutine
之间发消息和接收消息。其实,就是在做 goroutine
之间的内存共享。channel
是类型相关的,也就是说一个 channel
只能传递一种类型的值,这个类型需要在 channel
声明时指定。
声明与初始化
channel
的一般声明形式:var chanName chan ElementType。
与普通变量的声明不同的是在类型前面加了 channel
关键字,ElementType
则指定了这个 channel
所能传递的元素类型。示例:
1 |
|
初始化一个 channel
也非常简单,直接使用 Go 语言内置的 make()
函数,示例:
1 |
|
channel
最频繁的操作就是写入和读取,这两个操作也非常简单,示例:
1 |
|
【Go简明手册】Go并发编程——channel
https://hodlyounger.github.io/2023/10/27/B_Code/GO/Go简明手册/并发与并行/channel/【Go简明手册】Go并发编程——channel/