iris框架里面的mvc有段代码:https://github.com/kataras/iris/blob/master/mvc/mvc.go#L291
var (
_ BeforeActivation = (*ControllerActivator)(nil)
_ AfterActivation = (*ControllerActivator)(nil)
)
if before, ok := controller.(interface {
BeforeActivation(BeforeActivation)
}); ok {
before.BeforeActivation(c)
}
用来判断一个对象有没有实现某个方法确实挺巧妙的