1

以下是我使用服务呈现节点地址的代码:

    {{range "service@datacenter" "passing"}}{{.Address}} {{end}}

我想要做的是限制呈现的地址数量。例如,如果有 5 个节点注册为“服务”提供者,我只想打印其中 2 个的地址。我认为我应该做的是对数组进行切片,但我无法正确使用 GO 语法。这是我想要但在语法上不正确的东西:

    {{range "service@datacenter" "passing" [0:2]}}{{.Address}} {{end}}

这样做的正确方法是什么?

4

1 回答 1

0

找到了一个解决方案来限制可以使用 consul-template 呈现的数组元素的数量。

    {{$x := service "service@datacenter" "passing"}}{{range $index, $element := $x}}{{if lt $index 2}}{{$element.Address}},{{end}}{{end}}

range 函数提供了一个索引变量以及数组元素,可用于使用 if 块检查限制。这里将呈现仅有的两个地址。

于 2016-09-23T14:00:26.130 回答