我在写一个端口扫描器 定义了两个 channel open 、close 都是无缓冲的 我希望将开放的端口放在 open,关闭的放在close中 我在使用 select 读取数据的时候发现 有时会读取open 的数据有时会读取 close 的数据,最后的数据总是无法读取,处于堵塞状态。 能否指出一下问题? 感谢
有疑问加站长微信联系(非本文作者)

我在写一个端口扫描器 定义了两个 channel open 、close 都是无缓冲的 我希望将开放的端口放在 open,关闭的放在close中 我在使用 select 读取数据的时候发现 有时会读取open 的数据有时会读取 close 的数据,最后的数据总是无法读取,处于堵塞状态。 能否指出一下问题? 感谢
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
上代码方便分析。
select 会选择case中任意一个满足条件的执行,不会两个都执行
select 中的 case 执行顺序与编写顺序无关