当传参数的时候 ,为了方便 ,参数的类型定义成了interface{},如果要给这个原类型的属性赋值 , 就需要强转回去
例如下面的代码:
func RenderList(w http.ResponseWriter,render interface{}) { header := tools.FileGetContent("html/header.html") html := tools.FileGetContent(html/list.html) t,_ := template.New(list).Parse(html) render.(*tools.IndexData).Header=template.HTML(header) t.Execute(w,render) }
注意这里是* , 因为结构体属性赋值要是指针 render.(*tools.IndexData).Header ,