beego学习笔记(4):开发文档阅读(3)
2018-07-01 12:37 很大很老实 阅读(328) 评论(0) 收藏 举报通过运行 bee new quickstart 来创建新的项目,其结构如下:
quickstart
|-- conf
| `-- app.conf
|-- controllers
| `-- default.go
|-- main.go
|-- models
|-- routers
| `-- router.go
|-- static
| |-- css
| |-- img
| `-- js
|-- tests
| `-- default_test.go
`-- views
`-- index.tpl
然后通过bee run来运行项目。
在main函数里,我们看到:
import ( _ "mynewbeego/routers" "github.com/astaxie/beego" )
有2个import,而我们知道,go的执行顺序是:

我们先去看看,router这个,是做了啥
routers目录下,只有一个router.go文件,里面只有一个init函数(这个会被执行)
func init() {
beego.Router("/", &controllers.MainController{})
}
但是,我们看其的import:
import ( "mynewbeego/controllers" "github.com/astaxie/beego" )
一层层,继续去看:controllers:
其下面只有一个default.go 文件:
type MainController struct {
beego.Controller
}
func (c *MainController) Get() {
c.Data["Website"] = "beego.me"
c.Data["Email"] = "astaxie@gmail.com"
c.TplName = "index.tpl"
}
这里是匿名组合,也即是传统的继承。
浙公网安备 33010602011771号