gpt4 book ai didi

go - 在模板中访问数组中的任意元素

转载 作者:IT王子 更新时间:2023-10-29 02:05:37 26 4
gpt4 key购买 nike

我需要访问模板中数组中的任意元素。

我有一个返回包含 3 个元素的数组的函数,我只想访问第二个元素。我该怎么做?

模板:

test start
{{ service "mongodb" }}
test end

结果:

test start 
[0xc208062de0 0xc208062d80 0xc208062e40]
test end

最佳答案

我认为预定义的全局函数 index 在这里可以提供帮助,包中的文档 template

index   
Returns the result of indexing its first argument by the
following arguments. Thus "index x 1 2 3" is, in Go syntax,
x[1][2][3]. Each indexed item must be a map, slice, or array.

这是一个例子;

package main

import (
"log"
"os"
"text/template"
)

func returnArray(dummy string) []int {
return []int{11, 22, 33}
}

func main() {
funcMap := template.FuncMap{
"myFunc": returnArray,
}

const templateText = `
Output 0: {{myFunc "abc"}}
Output 1: {{index (myFunc "abc") 0}}
Output 2: {{index (myFunc "abc") 1}}
Output 3: {{index (myFunc "abc") 2}}
`

tmpl, err := template.New("myFuncTest").Funcs(funcMap).Parse(templateText)
if err != nil {
log.Fatalf("parsing: %s", err)
}

err = tmpl.Execute(os.Stdout, "")
if err != nil {
log.Fatalf("execution: %s", err)
}
}

输出

Output 0: [11 22 33]
Output 1: 11
Output 2: 22
Output 3: 33

关于go - 在模板中访问数组中的任意元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27684922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com