【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)
}