github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/talks/2012/concurrency/support/daisy.go (about) 1 // +build OMIT 2 3 package main 4 5 import "fmt" 6 7 func f(left, right chan int) { 8 left <- 1 + <-right 9 } 10 11 func main() { 12 const n = 10000 13 leftmost := make(chan int) 14 right := leftmost 15 left := leftmost 16 for i := 0; i < n; i++ { 17 right = make(chan int) 18 go f(left, right) 19 left = right 20 } 21 go func(c chan int) { c <- 1 }(right) 22 fmt.Println(<-leftmost) 23 }