什么是相当于Python的“pass”?

2024-09-26 22:42:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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: idtrueifstatus原因msg语句事情
1条回答
网友
1楼 · 发布于 2024-09-26 22:42:54

select语句中的default大小写旨在为通道读写提供非阻塞I/O。当default案例中的任何一个通道都不准备读/写时,就会执行default案例中的代码。在

所以在您的例子中,如果quit通道没有什么要说的话,就会执行default块。 您只需删除默认大小写,它将阻止quit_status := <-quit大小写,直到quit中有可用的值。。这可能就是你在这个例子中所追求的。在

如果要在select语句之后立即继续执行代码,则应在单独的goroutine中运行此select语句:

go func() {
    select {
    case quit_status := <-quit:
        ...

    }
}()

// Execution continues here immediately.

相关问题 更多 >

    热门问题