在 Go 中,如果我尝试从通道接收,程序的执行将停止,直到通道中存在某个值。但是,我想做的是让程序继续执行,如果通道中有值,则对其进行操作。我想到的伪代码是这样的:mychan := make(chan int, 1)go someGoRoutine(mychan) // This might put some value in mychan at some pointfor { if something in "mychan" { // Remove the element from "mychan" and process it } else { // Other code }}据我了解,我不能简单地使用,v <- mychan因为这会阻止程序执行,直到值可用。在 Go 中这样做的方法是什么?
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消