英文:
text/template: space in map's key
问题
你可以在解析参数中使用点号来访问map键的值。在你的代码中,你可以这样修改解析参数:
tmpl, err := template.New("test").Parse("Movie name: {{.\"name of the movie\"}}")
这样,tmpl.Execute
将会将 hello
显示在输出中。
英文:
I have the following code (using text/template
):
inventory := map[string]string{"name of the movie": "hello"}
tmpl, err := template.New("test").Parse("Movie name ") // I want to display "hello" there
if err != nil { panic(err) }
err = tmpl.Execute(os.Stdout, inventory)
if err != nil { panic(err) }
As you can see, there is spaces in my map's key name of the movie
. How can I do in the parse argument to display hello
(which is the value of name of the movie
)?
答案1
得分: 8
使用索引函数:电影名称:{{index . "电影名称"}}
从文档中可以得知:
index
返回将第一个参数按照后续参数进行索引的结果。因此,在Go语法中,"index x 1 2 3"等价于x[1][2][3]。每个被索引的项必须是一个map、slice或array。
英文:
Use the index function: Movie name: {{index . "name of the movie"}}
From the docs:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论