Here is a simple duration loop go program https://play.golang.org/p/ly9U9EUr2of
package main
import (
"fmt"
"time"
)
func main() {
duration := time.Second *10
fmt.Println("Hello, duration loop "+duration.String()+" long")
t1 := time.Now()
for t2:= time.Now(); t2.Sub(t1) < duration; t2 = time.Now(){
fmt.Println(t2.String())
time.Sleep(time.Second)
}
}