go-channel介绍使用

本文介绍了Go语言中通道的基本概念,包括缓冲通道与非缓冲通道的区别,以及如何使用make函数初始化不同类型的通道。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

make(chan int, 10)

这个表达式初始化了一个通道类型的值,传递给make函数的第一个参数表明此值的具体类型为int的通道类型,而第二个参数则指出该通道在同一时刻最多可以缓冲10个元素值。

当然,可以在初始化一个通道的时候省略第二个参数值: make(chan int),一个通道值得缓冲容量总是固定不变的,如果第二个参数被省略了,就表示被初始化的这个通道永远无法缓冲任何元素值。发送给它的元素值应该被立刻取走,否则发送方的goroutiine就会被暂停(或者说阻塞),直到有接收方接收这个元素值。

我们可以把初始化时第二个参数值大于0的通道称为缓冲通道,未给定第二个参数或者值等于0的通道称为非缓冲通道。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值