TrackTime use defer
func TrackTime(pre time.Time) time.Duration {
elapsed := time.Since(pre)
fmt.Println("time elapsed: ", elapsed)
return elapsed
}
func main() {
defer TrackTime(time.Now())
time.Sleep(3 * time.Second)
}
or
func TrackTime() func() {
pre := time.Now()
return func() {
elapsed := time.Since(pre)
fmt.Println("time elapsed: ", elapsed)
}
}
func main() {
defer TrackTime()()
time.Sleep(3 * time.Second)
}