1. 程式人生 > >golang 利用閉包來獲取一段程式的執行效率時間,很簡單但是很經典

golang 利用閉包來獲取一段程式的執行效率時間,很簡單但是很經典

...
func main(){
    duration:=GetDuration(func(){
    //do sth
        resp, err2 = client.Do(req)
    })
    fmt.Println(duration)
}
...
func GetDuration(f func()) time.Duration{
    t1 := time.Now()
    f()
    t2  := time.Now()
    return t2.Sub(t1)
}

這樣就能實現一個建議的aop模型,具有類代理的功能,能夠更加控制f()函式的執行流程