code: func (r *Route) Subrouter() *Router {
  	// initialize a subrouter with a copy of the parent route's configuration
  	router := &Router{routeConf: copyRouteConf(r.routeConf), namedRoutes: r.namedRoutes}
  	r.addMatcher(router)
  	return router
  }
docs: // Subrouter ------------------------------------------------------------------
  // Subrouter creates a subrouter for the route.
  //
  // It will test the inner routes only if the parent route matched. For example:
  //
  //     r := mux.NewRouter()
  //     s := r.Host("www.example.com").Subrouter()
  //     s.HandleFunc("/products/", ProductsHandler)
  //     s.HandleFunc("/products/{key}", ProductHandler)
  //     s.HandleFunc("/articles/{category}/{id:[0-9]+}"), ArticleHandler)
  //
  // Here, the routes registered in the subrouter won't be tested if the host
  // doesn't match.