package main import ( "fmt" ) func main() { ch1 := make(chan int) ch2 := make(chan int) for i := 0; i < 5; i++ { if i % 2 == 0 { go func(i int) { ch1 <- i }(i) } else { go func(i int) { ch2 <- i }(i) } } cnt := 0 df := 0 for cnt < 5 { select { case <- ch1: fmt.Printf("ch1 received\n") cnt++ case v := <- ch2: fmt.Printf("ch2: %d\n", v) cnt++ default: df++ } } fmt.Printf("default: %d\n", df) }