On Wednesday, 25 January 2017 15:14:27 UTC+2, T L wrote: > > sometimes, I do want one case on a select block get selected even if there > are multiple unblocked cases. > For example, I don't want the dataCh case is selected if the stopCh and > the timer channel are unblocked: > > select { > case <- stopCh: > return > case value := <-dataCh: > } > > select { > case <- time.After(time.Second): > return > case dataCh <- value: > } > > Is there a solution to satisfy my need currently? >
type poller func() bool var pollers []poller pollers = append(pollers, func() bool { select { case <-priority: // ... default: return false } return true }) for { for _, p := range pollers { if p() { break } } } -- 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.