我们知道java或者其他面向对象的语言,字段的初始化值很方便,但是在golang的struct中实现这些,感觉不是很方便,例如在学习beego的时候,我想对controller设置统一的layout, 是否可以自定义个MyController,继承beego.Controller, 然后对layout等做统一的设置:
```
type MyController struct{
beego.Controller: {
Layout: "layout_blog.tpl"
LayoutSections = map[string]string{
"HtmlHead": "html_head.tpl",
"Scripts": "scripts.tpl",
"Sidebar": "",
}
}
}
```
或者说
1. struct的字段必须在定义的时候给初始化值,定义的时候不行?
2. 只能提供类似java的工厂方法,来统一初始化struct中的字段?
可以在Prepare()方法中 初始化
package controllers
import "github.com/astaxie/beego"
type BaseController struct {
beego.Controller
}
func (this *BaseController) Prepare() {
this.Layout = "layout/main.tpl"
}
#7
更多评论
为什么我定义并初始化的时候报错?
```
type abc struct{
age int32 : 100 // age int32 = 100也不行
}
```
#2