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

Go中的单向通道有什么意义?

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

Go中的单向通道有什么意义?

可以将通道设置为对接收该通道的任何人都是只读的,而发送方仍然可以使用双向通道进行写入。例如:

func F() <-chan int {    // Create a regular, two-way channel.    c := make(chan int)    go func() {        defer close(c)        // Do stuff        c <- 123    }()    // Returning it, implicitely converts it to read-only,    // as per the function return value.    return c}

呼叫的人

F()
都会收到一个只能阅读的频道。这对于避免在编译时潜在地滥用通道很有用。因为只读/只写通道是不同的类型,所以编译器可以使用其现有的类型检查机制来确保调用者不会尝试将内容写入没有业务写入的通道。



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

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

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