因为使用过 php 的模板引擎,比如 Smarty,所以在 Golang 中使用模板引擎(html/template),也会带有 php 模板引擎的思维,很难切换过来,在使用过程遇到不少问题,整理如下。
循环嵌套
在 Golang 的模板引擎中,循环嵌套的写法是要做特殊处理的,不然会报错,就是内循环要特殊处理。
要加一个
$
符号,原因没有具体的去查,我也是 Google 查到的。
if 是函数
和 php smarty 不同的是,if 后面接比较符,然后再接参数,直接写表达示是会报错的。
Golang : Executing and evaluating nested loop in html template (socketloop.com)