回声框架路由器问题?

so this might be my limited understanding of Golang, as I am still learning it. But I have built a working router function within the main package / file in my app, passing in the context and that works fine.

However when I moved this to its own package, it stoped working, I am guesting this has something to do with not passing in the context from the main package?

So this works:

func router(e *echo.Echo) {

  addresController := &controllers.AddressController{
      config.NewController(),
  }

  //Address Routes
  address := e.Group("/address")

  address.GET("/all", func(c echo.Context) error {
     return addresController.AddressList(c)
  })

}

Loading into the main func like so,

 func main() {
   //Build The Echo Framework
   e := echo.New()

   //Load Router Function
   router(e)

   //Start Echo Web Server
   e.Logger.Fatal(e.Start(":5060"))
 }

But when I move over to this using this in the main func,

 router.BuidlRoutes(e)

and putting all the address routes into the BuildRoutes function I get back empty results.

Thanks,

UPDATE

my BuildRouter function as asked for:

func BuidlRoutes(e *echo.Echo) {
  addresController := &controllers.AddressController{
    config.NewController(),
  }

  //Address Routes
  address := e.Group("/address")

  address.GET("/all", func(c echo.Context) error {
    return addresController.AddressList(c)
  })

  address.GET("/id/:id", func(c echo.Context) error {
    return addresController.AddressByID(c)
  })
}

and this is my Address Controller Struct

type AddressController struct { 
   *config.MyController
}

This Address Controller is loading a MyController,

type MyController struct {
  *DBSettings
}

func NewController() *MyController {
  return &MyController{}
}