// Written by http://xojoc.pw. Public domain. package main import ( "fmt" "time" ) func main() { fizz := time.Tick(30 * time.Millisecond) buzz := time.Tick(50 * time.Millisecond) fizzBuzz := time.Tick(150 * time.Millisecond) number := time.Tick(10 * time.Millisecond) time.Sleep(20 * time.Millisecond) for i := 1; i <= 100; i++ { select { case <- fizzBuzz: fmt.Println("FizzBuzz") <-fizz <-buzz <-number continue default: } select { case <- fizz: fmt.Println("Fizz") <-number continue default: } select { case <- buzz: fmt.Println("Buzz") <-number continue default: } select { case <- number: fmt.Println(i) } } }