我正在服务器上使用Go开发Web应用程序,路由器将使用PushState,因此服务器也必须能够呈现我的模板。这意味着我需要一个与Go和Javascript一起使用的模板引擎。到目前为止我遇到的唯一一个是Mustache,但它似乎无法处理结构的小写属性,并且似乎也没有可能提供像JSON这样的自定义名称:
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
那么,Go和JavaScript中是否有一个模板引擎可以处理小写结构属性?
答案 0 :(得分:0)
正如上面的评论所述,您不能指望任何第三方库能够读取结构上的小写属性,但看起来您正在尝试使用标记来表示结构的替代表示(就像您可以使用encoding/json
库。)
您可以使用github.com/fatih/structs
之类的内容将结构转换为地图,然后将所有键的范围缩小到小写(复制值并删除大写版本)并将其传递给{{1}作为你的背景。如果你想使用像mustache.Render()
库这样的struct标签,你必须使用encoding/json
包并编写一个struct-to-map函数,该函数考虑了struct上的标记(basic文档here中给出的示例。关于如何使用反射编写struct-to-map函数,有一些SO答案,你可以根据需要改进结构标记处理。
为了回答你的问题,我认为这不是当前模板库所做的,也适用于javascript,但考虑到上述想法,使用胡子不应该太难。