首页 > 解决方案 > 如何在 html/template 中计算一些东西

问题描述

如何在 go 的 html 模板中计算一些东西?

例如:

{{ $length := len . }}
<p>The last index of this map is: {{ $length -1 }} </p>

. 一张地图。
代码{{ $length -1 }} 不起作用,有没有办法实现这一点?

标签: gogo-templates

解决方案


你不能。模板不是脚本语言。按照设计理念,复杂的逻辑应该在模板之外。

将计算结果作为参数传递(首选/最简单),或者注册您可以在模板执行期间调用的自定义函数,将值传递给它们并且可以执行计算并返回任何值(例如 return param - 1)。

有关注册和使用自定义函数的示例,请参见:

Golang 模板(并将函数传递给模板)

如何通过模板中的变量访问对象字段?

迭代 Go 地图获取索引


推荐阅读