[Go] 利用类型断言把interface{}的转换回原类型

前端之家收集整理的这篇文章主要介绍了[Go] 利用类型断言把interface{}的转换回原类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当传参数的时候 ,为了方便 ,参数的类型定义成了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  , 

猜你在找的Go相关文章