如何在EMQX Kuiper规则中用Go template打印切片的最后一个元素
你的写法不生效是因为Go template原生不支持直接书写算术运算表达式,$lenMyList -1无法被识别为减法操作,需要调用模板内置的算术函数完成计算。
你可以使用以下两种写法实现需求:
- 保留变量写法:
"dataTemplate": "{{$lenMyList := len .}}{{json (index . (sub $lenMyList 1))}}"
- 精简写法:
"dataTemplate": "{{json (index . (sub (len .) 1))}}"
上述写法用到了EMQX Kuiper模板内置的sub减法函数,除此之外你还可以使用同系列的add(加法)、mul(乘法)、div(除法)等函数完成其他算术运算逻辑。
内容的提问来源于stack exchange,提问作者Saiful Islam
相关产品推荐
相关产品推荐

