栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

未初始化的通道表现如何?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

未初始化的通道表现如何?

通道类型的“未初始化”字段或变量的所有通道类型的零值为

nil
。因此,让我们研究一下
nil
通道或通道上的操作。

值得 在一篇文章中收集 渠道公理

  • nil
    通道上的发送将永远阻塞(规范:Send语句)
  • 来自
    nil
    通道的接收将永远阻塞(规范:接收运算符)
  • 发送到封闭通道恐慌(规范:Send语句)
  • 来自封闭通道的接收立即返回零值(规范:接收运算符)

nil
通道阻塞的原因:如果一个通道值为
nil
,则没有人引用它,因此没有人会准备好从中接收(我们要发送的内容);或发送任何内容(我们会从中收到什么)。

您可以在Dave Cheney:Channel Axioms中阅读更多的推理和更多详细信息。

为了完整性:

  • 关闭一个
    nil
    频道将会引起一个运行时恐慌(就像闭一个已经封闭的通道)。
  • 长度和容量一个的
    nil
    信道是
    0
    ; 根据
    nil
    具有
    0
    长度和容量的切片和地图。

理由:“关闭”是一种状态,但是一个

nil
通道不能具有状态(只有一个
nil
通道,“关闭”通道没有一个通道,“非关闭”通道没有一个通道)。而且没有元素在
nil
通道中排队(因此len
= 0),并且它没有缓冲区容量(因此cap = 0)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368143.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号