gpt4 book ai didi

html - Golang - HTML 模板 - 范围限制

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

我有一个 slice ,我正在打印到一个 html 文件中:

<ul>
{{range .arr}}
<li>{{.}}</li>
{{end}}
</ul>

如果 len(arr) > 5,如何只打印 slice 的前 5 个元素?

最佳答案

首先,我要提一下,如果您将一个数组 传递给模板,您几乎肯定会做一些奇怪的事情。数组在 Go 中相对较少使用。通常,您会使用 slice

最简单的方法是在运行模板时传递数组前 5 个元素的一部分。

如果您出于某种原因需要模板中的完整输入,您可以定义一个用于获取 slice 的函数,如下所示:

func mkslice(a []string, start, end int) []string {
return a[start:end]
}

(参见 documentation for how to attach functions to templates)

和模板:

{{range mkslice .arr 0 5}}
<li>{{.}}</li>
{{end}}

您还可以使用带有索引的 range 操作形式。

{{range $i, $val := .arr}}
{{if lt $i 5}}<li>{{$val}}</li>{{end}}
{{end}}

关于html - Golang - HTML 模板 - 范围限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065203/

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