// +build OMIT package main import ( "fmt" "math/rand" "time" ) func main() { start := time.Now() reset := make(chan bool) var t *time.Timer t = time.AfterFunc(randomDuration(), func() { fmt.Println(time.Now().Sub(start)) reset <- true }) for time.Since(start) < 5*time.Second { <-reset t.Reset(randomDuration()) } } func randomDuration() time.Duration { return time.Duration(rand.Int63n(1e9)) }