假设定义了参数类型为
type Callback func(*Context) interface{}
func action(c Callback){}
func main(){
action(User.Add)
}
其中Add方法为
func (u *User) Add(c *Context) UserVo {
res := &UserVo {}
return *res
}
我想在Add方法清晰定义方法的返回值类型
但是我实际的返回值没有降级成为interface{},编辑器会报错
Cannot use 'User.Add' (type func(c *Context) UserVo ) as type Callback
当Add方法声明返回值类型为interface{};或不返回,且Callback也不定义返回的情况,运行是正常的
请问有没有什么办法既能清晰定义具体方法的返回值类型,又能使用抽象接收进行后续处理