掌握go通道方式的类型
发布时间
阅读量:
阅读量
类型分类与特征解析
1:通道类型所承载的数值本身具备并发安全性;
2:通道属于引用类型,其对应的空值表现为nil;
3:在使用通道之前,必须先行完成声明与初始化操作;
进行通道声明的方式如下:
var ch chan int
若需同时完成声明与初始化,可采用以下方式:
ch = make(chan int,2)
二:通道操作
1:通过通道实现数据的传输与接收操作
ch := make(chan int,2)
将数值10传送至通道ch中,具体操作为ch <- 10
从通道ch中获取数据并将其存储于变量x中,表达式为x := <- ch
多次发送数据的操作如下:
ch <- 1
ch <- 2
ch <- 3
相对应地,可以进行多次接收操作:
x := <- ch
y := <- ch
z := <- ch
需特别注意的是,在接收数据时,其执行次数不应超过发送数据的次数
2:通道的终止处理
close(ch)
在通道被关闭之后,将不再允许向其中发送数据,但仍然可以继续从该通道中接收已存在的数据
三:通道的特性
首先需要明确的是,当元素值从外部进入通道时,其实际进入的是该元素值的副本,而非操作符右侧所引用的原始元素值。当元素值从通道传出至外部时,整个过程分为
全部评论 (0)
还没有任何评论哟~
