我在select语句中有一个默认原因,我不想做任何事情,只需继续,但将行留空会阻止语句中的任何事情发生
select {
case quit_status := <-quit:
if quit_status == true {
fmt.Printf("********************* GOROUTINE [%d] Received QUIT MSG\n", id)
return
}
default:
fmt.Printf("GOROUTINE [%d] step: %d, NO QUIT MSG\n", id, i)
}
Tags:
select
语句中的default
大小写旨在为通道读写提供非阻塞I/O。当default
案例中的任何一个通道都不准备读/写时,就会执行default
案例中的代码。在所以在您的例子中,如果quit通道没有什么要说的话,就会执行
default
块。 您只需删除默认大小写,它将阻止quit_status := <-quit
大小写,直到quit
中有可用的值。。这可能就是你在这个例子中所追求的。在如果要在select语句之后立即继续执行代码,则应在单独的goroutine中运行此select语句:
相关问题 更多 >
编程相关推荐