文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
接收操作符
对于管道类型的运算元 ch
,接收操作 <-ch
返回值是管道 ch
接收到的值。带方向的管道需要有接受权限,接收操作的类型也是通道的元素类型。表达式会一直阻塞直到接收到返回值。从 nil 通道接收值会一直阻塞。从一个已经关闭的通道接收数据会在其他数据都被接收以后生成该通道元素类型的零值。
v1 := <-ch
v2 = <-ch
f(<-ch)
<-strobe // wait until clock pulse and discard received value
接收数据的表达式可以使用赋值表达式。
x, ok = <-ch
x, ok := <-ch
var x, ok = <-ch
var x, ok T = <-ch
它还可以生成一个额外的无类型布尔值来表示通道是否关闭。如果 ok 为 true
说明获取到的是发送到通道内的数据,而 false
它就返回一个零值因为通道内没有元素且已经关闭。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论