func (r *Router) Subrouter(path string) *Router {
	sr := &Router{
		index:  make(map[string]string),
		prefix: r.subPath(path),
		router: r.router,
	}
	r.children = append(r.children, sr)
	sr.parent = r
	return sr
}
Subrouter creates and returns a subrouter
package goat
import (
	"net/http"
	"github.com/julienschmidt/httprouter"
)
type Router struct {
	parent   *Router
	children []*Router
	prefix string
	index map[string]string
	router *httprouter.Router
	middleware []Middleware
}
type Handle func(http.ResponseWriter, *http.Request, Params)