func (group *RouterGroup) Use(middleware ...HandlerFunc) IRoutes {
	group.Handlers = append(group.Handlers, middleware...)
	return group.returnObj()
}
Use adds middleware to the group, see example code in github.
package gin
import (
	"net/http"
	"path"
	"regexp"
	"strings"
)
type (
	IRouter interface {
		IRoutes
		Group(string, ...HandlerFunc) *RouterGroup
	}
	IRoutes interface {
		Use(...HandlerFunc) IRoutes
		Handle(string, string, ...HandlerFunc) IRoutes
		Any(string, ...HandlerFunc) IRoutes
		GET(string, ...HandlerFunc) IRoutes
		POST(string, ...HandlerFunc) IRoutes
		DELETE(string, ...HandlerFunc) IRoutes
		PATCH(string, ...HandlerFunc) IRoutes
		PUT(string, ...HandlerFunc) IRoutes
		OPTIONS(string, ...HandlerFunc) IRoutes
		HEAD(string, ...HandlerFunc) IRoutes
		StaticFile(string, string) IRoutes
		Static(string, string) IRoutes
		StaticFS(string, http.FileSystem) IRoutes
	}
	RouterGroup struct {
		Handlers HandlersChain
		basePath string
		engine   *Engine
		root     bool
	}
)
var _ IRouter = &RouterGroup{}