// +build ignore,OMIT package main import ( "fmt" "time" ) // START1 OMIT func main() { c := make(chan string) go f("three", 300*time.Millisecond, c) for i := 0; i < 10; i++ { fmt.Println("Received", <-c) // Receive expression is just a value. // HL } fmt.Println("Done.") } // STOP1 OMIT // START2 OMIT func f(msg string, delay time.Duration, c chan string) { for i := 0; ; i++ { c <- fmt.Sprintf("%s %d", msg, i) // Any suitable value can be sent. // HL time.Sleep(delay) } } // STOP2 OMIT