gpt4 book ai didi

go - 如何在 Go html 模板中迭代 map 的键和值

转载 作者:IT王子 更新时间:2023-10-29 01:26:11 25 4
gpt4 key购买 nike

我有一个使用 http/template 包的模板。如何遍历模板中的键和值?

示例代码:

template := `
<html>
<body>
<h1>Test Match</h1>
<ul>
{{range .}}
<li> {{.}} </li>
{{end}}
</ul>
</body>
</html>`

dataMap["SOMETHING"] = 124
dataMap["Something else"] = 125
t, _ := template.Parse(template)
t.Execute(w,dataMap)

如何访问模板中 {{range}} 中的键

最佳答案

您可以尝试的一件事是使用 range 分配两个变量 - 一个用于键,一个用于值。每this更改(和 docs ),键将尽可能按排序顺序返回。以下是使用您的数据的示例:

package main

import (
"html/template"
"os"
)

func main() {
// Here we basically 'unpack' the map into a key and a value
tem := `
<html>
<body>
<h1>Test Match</h1>
<ul>
{{range $k, $v := . }}
<li> {{$k}} : {{$v}} </li>
{{end}}
</ul>
</body>
</html>`

// Create the map and add some data
dataMap := make(map[string]int)
dataMap["something"] = 124
dataMap["Something else"] = 125

// Create the new template, parse and add the map
t := template.New("My Template")
t, _ = t.Parse(tem)
t.Execute(os.Stdout, dataMap)
}

可能有更好的处理方法,但这在我的(非常简单的)用例中有效:)

关于go - 如何在 Go html 模板中迭代 map 的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658552/

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