通俗易懂剖析Go Channel:理解并发通信的核心机制

我们在学习与使用Go语言的过程中,对channel并不陌生,channel是Go语言与众不同的特性之一,也是非常重要的一环,深入理解Channel,相信能够在使用的时候更加的得心应手。

一、Channel基本用法

1、channel类别

channel在类型上,可以分为两种:

  • 双向channel:既能接收又能发送的channel
  • 单向channel:只能发送或只能接收的channel,即单向channel可以为分为:

只写channel

只读channel

声明并初始化如下如下:

func main() {
// 声明并初始化
var ch chan string = make(chan string) // 双向channel
var readCh