nil channel(零值通道)及其使用场景

在Go语言里,把nil赋值给通道变量c,c就成为了nil通道。在nil通道上发送或接收都会被阻塞。

nil通道的使用场景之一是,select的某个case的通道根据某个条件来启用或禁用,当条件为true时,启用通道,case块代码有机会被执行,当条件为false时,把nil赋值给该通道使其成为nil通道,以禁用该通道(一直阻塞直到条件变为true),case块代码不会被执行。

“nil channel(零值通道)及其使用场景”的一个回复

  1. Thank you, your article surprised me, there is such an excellent point of view. Thank you for sharing, I learned a lot.

回复 Index Home 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注