反射的包名:reflect
    步骤:
    1:根据传入函数获取函数的指针
    2:通过指针获取函数名称

    代码:

    1. func apply(op func(int , int) int , a,b int) int{
    2. pointer:= reflect.ValueOf(op).Pointer()
    3. funcName := runtime.FuncForPC(pointer).Name()
    4. fmt.Printf("the runing func name is %s , args is (%d , %d)" , funcName , a , b)
    5. return op(a , b)
    6. }
    7. func multiplication(a,b int)int{
    8. return a*b
    9. }
    10. func main() {
    11. fmt.Println(apply(multiplication , 3, 4))
    12. }