golang 编程笔记

【golang】利用反射为函数执行封装一些额外操作

2020-04-30  本文已影响0人  dongzd

可以利用此函数,全局改变函数输入输出

func ExecuTime(f interface{}, params ...interface{}) {
    funcValue := reflect.ValueOf(f)

    paramList := make([]reflect.Value, 0)

    for _, v := range params {
        paramList = append(paramList, reflect.ValueOf(v))
    }
    start := time.Now()
    funcValue.Call(paramList)
    dur := time.Since(start)

    fmt.Println(dur)

}
上一篇下一篇

猜你喜欢

热点阅读