编程 - 如何在ExecuteTemplate中传递两个结构

时间:2014-09-12 17:59:00

标签: struct go

我是一名golang初学者,我正在开发一个Web应用程序来更好地理解golang概念。

我有一个html页面,我想展示一些关于用户和产品的信息。

所以,现在我只将Product结构传递给Product html模板,如下所示:

ExecuteTemplate(w, "product", Product)

但是我有一些不在这个结构中的信息。那是在用户结构中。

我必须做这样的事情:

ExecuteTemplate(w, "product", Product, User)

我的意思是我必须将两个结构都传递给同一个模板。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

将模板调用为

if err := t.ExecuteTemplate(w, "product", 
     struct{Product, User interface{}}{Product, User}); err != nil {
    // handle error
}

您可以在模板中访问产品和用户:

{{.Product}}
{{.User}}