Dan*_*son -1 go
我有一个方法包:
func Route(router *mux.Router){
subrouter := router.PathPrefix(_API).Subrouter()
subrouter.Path(_FOO).HandlerFunc(foo)
subrouter.Path(_BAR).HandlerFunc(bar)
}
我希望通过在我的包中使用匹配的接口来删除mux的外部依赖,这简单地包含了上面使用的所有功能,如下所示:
type Router interface{
Path(string) Path
PathPrefix(string) Path
}
type Path interface{
HandlerFunc(http.HandlerFunc)
Subrouter() Router
}
func Route(router Router){
subrouter := router.PathPrefix(_API).Subrouter()
subrouter.Path(_FOO).HandlerFunc(foo)
subrouter.Path(_BAR).HandlerFunc(bar)
}
但是当我构建这个时,我得到错误:
*mux.Router没有实现api.Router(Path方法的类型错误)有Path(string)*mux.Route想要Path(string)api.Path
*mux.Route