【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/