22 lines
313 B
Go
22 lines
313 B
Go
package utils
|
|
|
|
import (
|
|
"reflect"
|
|
"runtime"
|
|
)
|
|
|
|
func GetFuncName(fn interface{}) string {
|
|
ptr := reflect.ValueOf(fn).Pointer()
|
|
|
|
return runtime.FuncForPC(ptr).Name()
|
|
}
|
|
|
|
func GetInterfaceName(obj interface{}) string {
|
|
t := reflect.TypeOf(obj)
|
|
if t.Kind() == reflect.Ptr {
|
|
t = t.Elem()
|
|
}
|
|
|
|
return t.Name()
|
|
}
|