Wouldn't it better to just keep the nil channels out of the cases in the 
select
statement at the very beginning like epoll_wait does?
(I think the select statement in golang is very similar to the epoll_wait 
at sys/epoll.h.)

Or this is a compromise to let the programmer do anything they want?



On Friday, 5 May 2017 12:54:18 UTC+8, Jesse McNelis wrote:
>
> On Fri, May 5, 2017 at 1:35 PM, Ronald <yunth...@gmail.com <javascript:>> 
> wrote: 
> > 
> > So the question: 
> > 
> >     Isn't it better just to throw a panic when user send/recv on a nil 
> > channel instead of forever blocking it? If not, what is the benefits? 
>
> There is value in the ability to have a select case be a nil channel. 
> In a select a nil channel is never ready to receive and thus isn't a 
> case that will proceed. 
> This is useful for allowing you to conditionally prevent certain cases 
> from proceeding by swapping out the channel for a nil. 
>
> While outside a select this behaviour isn't really useful, but for 
> consistency it works exactly the same. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to