gpt4 book ai didi

go - 在Go文本/模板中引用 map 值

转载 作者:行者123 更新时间:2023-12-01 22:14:58 24 4
gpt4 key购买 nike

我有一个Golang字符串:

 var expressions: = `
{ "text1": "lorem ipsum {{value1}}/12"
"text1": "lorem ipsum {{value2}}/24"
}
`

和一张 map :

  constants:= map[string]int{
"value1": 3711,
"value2": 2138,
}

如何用 map 中的对应值替换表达式中的值?

最佳答案

要使用map的值,您需要指定该字段的key的名称,并在其前加上句点(.),例如.keyName

package main

import (
"os"
"text/template"
)

func main() {
var err error
constants := map[string]int{
"value1": 3711,
"value2": 2138,
}

tmpl := `{
"text1": "lorem ipsum {{ .value1 }}/12"
"text2": "lorem ipsum {{ .value2 }}/24"
}`

t := template.New("hello")
tt, err := t.Parse(tmpl)
if err != nil {
panic(err)
}

if err = tt.Execute(os.Stdout, &constants); err != nil {
panic(err)
}
}

输出:
{ 
"text1": "lorem ipsum 3711/12"
"text2": "lorem ipsum 2138/24"
}

Go Playground

对于更复杂的用例,您可以看一下 code

关于go - 在Go文本/模板中引用 map 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60962874/

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