【发布时间】:2018-04-27 12:52:30
【问题描述】:
我正在使用confd 通过模板填充文件。
在这个文件中,我想要一个移动和插入的元素列表。 该切片包含类似
的字符串0=container-1
1=container-2
2=container-3
3=container-4
(其实是我用splitconfd函数拆分的字符串)。
我希望,在每个容器上,能够过滤出容器名称并将列表移动到我的容器首先出现之后的那些。
例如,在container-2 上,我希望得到结果
2=container-3
3=container-4
0=container-1
如何在 confd go 模板中做到这一点?我想我知道如何在 go 中做到这一点(但我在那种特定语言中不是那么好),但我不知道如何只使用模板来做到这一点......
【问题讨论】:
-
不确定这是否是您要查找的内容play.golang.org/p/EHB-8BZ83o
-
你所说的'split go template function'到底是什么意思?模板是一种机制,
strings.Spit是另一种机制.. -
@WojciechKaczmarek 在 confd go 模板中有一个
split函数可用,这是我用来拆分数组的函数 -
@Riduidel 也许,我不知道。当然,
split函数不在模板函数 golang.org/pkg/text/template/#hdr-Functions 的标准库中。我建议您对该函数添加更明确的引用,以便普通读者很快知道它不仅与标准模板有关。然后你会从confd包的实际用户那里得到更快、更准确的答案。你能引用那个split的文档吗? -
谢谢。现在我们从文档中知道它是相同的模板语言,而且
split是strings.Split的包装器。然后你可以调整@mkopriva 给你的建议。您只需将split的结果捕获到一个var,然后使用@mkopriva 示例中的append。看起来它会比重复更短更优雅。
标签: string go slice go-templates confd