Во всех примерах, роутеры находятся в одном месте, нигде не нашел про вложения.
r := gin.New()
main := r.Group("/main", midl())
main.Get("/get", mainPkg.get)
another := r.Group("/another", midl())
//и т.д.
Мне хотелось бы в пакете описывать роуты, а в главном файле уже просто вписать что-то вроде
r := gin.New()
main := r.Group("/main", here_imported_route.Route)
#here_imported_route.go
package here_imported_route
Router := gin.New()
Router.Use(midl())
Router.Get("/test", hello)
берём роутер, созданный в другом пакете, с прописанными путями, но к ни идёт приставка /main
Т.е. по открытию /main/test нам отдастся hello
В общем, Django-like роутер.
Как-то путано написал, но, надеюсь, можно понять.