| package main | |
| import ( | |
| "fmt" | |
| "time" | |
| ) | |
| func main() { | |
| c1 := make(chan int, 1) | |
| c2 := make(chan int, 1) | |
| c1 <- 42 | |
| select { | |
| case v := <-c1: | |
| fmt.Println("received from c1: ", v) | |
| case c2 <- 1: | |
| fmt.Println("sent to c2") | |
| case <-time.After(time.Second): | |
| fmt.Println("timed out") | |
| default: | |
| fmt.Println("nothing ready at the moment") | |
| } | |
| } |