直接上代码
type interfaceFuncDeclare func(i int)
func interfaceFuncInvoke(f interface{}) interface{} {
switch v := f.(type) {
case func(i int):
return interfaceFuncDeclare(v)
default:
fmt.Print("miss match")
}
return nil
}
func interfaceFunCall(f interface{}) {
fun := interfaceFuncInvoke(f).(interfaceFuncDeclare)
fun(123)
}
func Run() {
interfaceFunCall(func(i int){
fmt.Print(i)
})
}