github.com/evrenkutar/randevent@v0.0.0-20210506235643-7d1e39a375e1/cmd/interval_ticker.go (about) 1 package cmd 2 3 import ( 4 "time" 5 ) 6 7 func start(done <-chan bool, ticker *time.Ticker, emitter Emitter) { 8 for { 9 select { 10 case <-done: 11 emitter.doneChan <- true 12 return 13 case tick := <-ticker.C: 14 emitter.tickChan <- tick 15 } 16 } 17 }