On Tue, Dec 4, 2018 at 5:54 PM Alex Dvoretskiy <advoretski...@gmail.com> wrote: > > Thanks. > One question, we do "defer close(out)", but we don't close "in" channel. Why > garbage collector don't remove "out" channel? We don't write nothing to it in > function 3. So it should be empty.
closing a channel sends a signal through the channel that no more data will be coming, so any goroutines waiting on that channel can resume. Without close, a for loop waiting on a channel will wait indefinitely. A channel will be garbage collected once all references to it are gone, whether it is closed or not. > > On Tuesday, December 4, 2018 at 3:52:45 PM UTC-8, Alex Dvoretskiy wrote: >> >> I'm getting "fatal error: all goroutines are asleep - deadlock! on this code. >> >> Why? >> >> https://play.golang.org/p/KgJKu96PF7Q > > -- > 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. -- 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.