beego项目中 main 函数是入口函数,在这里我们看到引入了一个包 _ “quickstart/routers”,这个包只引入执行了里面的 init 函数,那么让我们看看这个里面做了什么事情:

    1. package routers
    2. import (
    3. "quickstart/controllers"
    4. "github.com/astaxie/beego"
    5. )
    6. func init() {
    7. beego.Router("/", &controllers.MainController{})
    8. }

    路由包里面我们看到执行了路由注册 beego.Router, 这个函数的功能是映射 URL 到 controller,第一个参数是 URL (用户请求的地址),这里我们注册的是 /,也就是我们访问的不带任何参数的 URL,第二个参数是对应的 Controller,也就是我们即将把请求分发到那个控制器来执行相应的逻辑,我们可以执行类似的方式注册如下路由:

    beego.Router("/user", &controllers.UserController{})
    

    这样用户就可以通过访问 /user 去执行 UserController 的逻辑。这就是我们所谓的路由,