channel_block.go 200 B

123456789101112131415
  1. package main
  2. import "fmt"
  3. func main() {
  4. ch1 := make(chan int)
  5. go pump(ch1) // pump hangs
  6. fmt.Println(<-ch1) // prints only 0
  7. }
  8. func pump(ch chan int) {
  9. for i := 0; ; i++ {
  10. ch <- i
  11. }
  12. }