如何使用 Go 的 text/template 包返回数组中的唯一元素?

我是 Go 的新手,我正在努力寻找一种从 Go 模板语言中的数组返回唯一变量的方法。这是为了配置一些软件而我无法访问源来更改实际程序仅模板。


我在 Go 操场上举了一个例子:


https://play.golang.org/


package main


import "os"

import "text/template"


func main() {


      var arr [10]string

      arr[0]="mice"

      arr[1]="mice"

      arr[2]="mice"

      arr[3]="mice"

      arr[4]="mice"

      arr[5]="mice"

      arr[6]="mice"

      arr[7]="toad"

      arr[8]="toad"

      arr[9]="mice"


      tmpl, err := template.New("test").Parse("{{range $index, $thing := $}}The thing is: {{$thing}}\n{{end}}")

      if err != nil { panic(err) }

      err = tmpl.Execute(os.Stdout, arr)

      if err != nil { panic(err) }


}

现在返回:


The thing is: mice

The thing is: mice

The thing is: mice

The thing is: mice

The thing is: mice

The thing is: mice

The thing is: mice

The thing is: toad

The thing is: toad

The thing is: mice

我想要做的是制作一个模板,该模板从输入数组中过滤重复项并仅返回:


The thing is: mice

The thing is: toad

我真的被困住了,因为我知道几乎没有办法在文档中找到任何数组操作方法。任何人有任何提示吗?


附录

抱歉没说清楚我在上班路上的公交车上写了这个问题。


我无权访问模板之外的任何 go 代码。我有一个可以编辑的模板,在该模板中我有一个数组,该数组可能有也可能没有多个值,我需要打印一次。


我很欣赏这不是模板的工作方式,但如果有一些肮脏的方式来做到这一点,它将为我节省几天的工作。


小怪兽爱吃肉
浏览 347回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go