我是 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 代码。我有一个可以编辑的模板,在该模板中我有一个数组,该数组可能有也可能没有多个值,我需要打印一次。
我很欣赏这不是模板的工作方式,但如果有一些肮脏的方式来做到这一点,它将为我节省几天的工作。
相关分类