从2011年开始,该线程在通道周围提供了一些包装程序,以启用Peek()函数,但这比其他任何方法都更可行。
type PeekChanInt struct { in <-chan int out chan int}
总的结论是:
同步通道没有头(就像零长度切片)
你不能那样做,因为
- a)它被放回队列的尾部而不是末端,并且
- b)作家可能首先到达那里,所以看跌期权可能会受阻。
过去我一直想要这样的功能。当只有一个频道的使用者时,这是有道理的(我希望它窥视第一个鼠标事件以进行命中测试,然后再决定是否使用它)
您可以使用充当中介的进程来模拟它,但是您必须针对每种通道类型执行此 *** 作,否则将失去类型安全性。
请记住,没有缓冲,因此,如果窥视某个值,则必须从另一侧获取该值,这等同于读取该值-但这是错误的,因为 窥视应该没有副作用 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)