package utils
|
|
|
|
import (
|
|
"reflect"
|
|
)
|
|
|
|
/***
|
|
从map中获取反射对象
|
|
*/
|
|
func ReflectApi(index string, _map map[string]interface{}) *reflect.Value {
|
|
data := _map[index]
|
|
if data == nil {
|
|
return nil
|
|
}
|
|
refUser := reflect.ValueOf(data)
|
|
return &refUser
|
|
}
|
|
|
|
/***
|
|
调用反射方法 当反射对象为空 或者不存在反射方法 返回true 成功返回false
|
|
*/
|
|
func ReflectApiCall(class *reflect.Value, value []reflect.Value) (bool, []reflect.Value) {
|
|
defer func() {
|
|
if err := recover(); err != nil {
|
|
return
|
|
}
|
|
}()
|
|
|
|
if class == nil {
|
|
return true, nil
|
|
}
|
|
data := class.Call(value)
|
|
return false, data
|
|
}
|