深入了解go的通道类型

目录

目录

一:类型介绍

二:通道操作

三:通道的特性

四:通道的注意事项

五:总结


一:类型介绍

1:通道类型的值本身就是并发安全;

2:通道是一种引用类型,空值是nil;

3:  通道使用之前要先声明和初始化;

声明一个通道:

var  ch chan int

声明并初始化通道:

ch = make(chan int,2)

二:通道操作

1:使用通道进行收发操作

 ch := make(chan int,2) 

 ch <- 10 // 把10发送到ch中

 x := <- ch // 从ch中接收值并赋值给变量x

发送多次

 ch <- 1
 ch <- 2
 ch <- 3

对应的可以接收多次

x := <- ch 
y := <- ch 
z := <- ch 

需要注意的是接收次数不得大于发送次数

2:通道的关闭

close(ch)

关闭通道以后无法发送数据,还能接收数据

三:通道的特性

首先大家要知道,元素值从外界进入通道时会被复制,也就是说进入通道的并

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮的梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值