为什么需要channel

Golang管道channel:管道的声明 读取 写入_go

channel的介绍

Golang管道channel:管道的声明 读取 写入_go_02

管道的本质是队列

  • FIFO 先进先出

Golang管道channel:管道的声明 读取 写入_go_03

定义/声明管道

Golang管道channel:管道的声明 读取 写入_go_04

channel的初始化和写数据

Golang管道channel:管道的声明 读取 写入_go_05

  • 管道的本质

Golang管道channel:管道的声明 读取 写入_go_06Golang管道channel:管道的声明 读取 写入_go_07
Golang管道channel:管道的声明 读取 写入_go_08

  • 向管道写入数据及查看管道的长度和容量

Golang管道channel:管道的声明 读取 写入_go_09Golang管道channel:管道的声明 读取 写入_go_10

  • 往管道加数据,不能超过它的容量,否则报错

Golang管道channel:管道的声明 读取 写入_go_11

Golang管道channel:管道的声明 读取 写入_go_12

从管道中读取数据

Golang管道channel:管道的声明 读取 写入_go_13Golang管道channel:管道的声明 读取 写入_go_14

  • 管道为空的情况下继续取数据会报错

Golang管道channel:管道的声明 读取 写入_go_15Golang管道channel:管道的声明 读取 写入_go_16