blob: 10fec7862e007b38708e24c98736782656a09d32 [file] [log] [blame]
package main
import (
"fmt"
"time"
)
// START1 OMIT
func main() {
c := make(chan string)
go f("three", 300*time.Millisecond, c) // HL
go f("six", 600*time.Millisecond, c) // HL
go f("nine", 900*time.Millisecond, c) // HL
for i := 0; i < 10; i++ {
fmt.Println("Received", <-c)
}
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