如何在golang中比较html/模板中列表的长度?
我试图比较golang html/模板中列表的长度。但它永远都在html中加载如何在golang中比较html/模板中列表的长度?,html,go,equals,go-html-template,Html,Go,Equals,Go Html Template,我试图比较golang html/模板中列表的长度。但它永远都在html中加载 {{ $length := len .SearchData }} {{ if eq $length "0" }} Sorry. No matching results found {{ end }} 有人能帮我吗?来自文档 {{if pipeline}}T1{{end}}:如果管道的值为空,则否 生成输出;否则,执行T1。空值为 false、0、任何nil指针或接口值以及任何数组、切片、, 映射,或长度为零
{{ $length := len .SearchData }} {{ if eq $length "0" }}
Sorry. No matching results found
{{ end }}
有人能帮我吗?来自文档
{{if pipeline}}T1{{end}}:如果管道的值为空,则否
生成输出;否则,执行T1。空值为
false、0、任何nil指针或接口值以及任何数组、切片、,
映射,或长度为零的字符串。圆点不受影响
因此,如果要检查.SearchData
切片/数组/映射是否为空,请使用
{{if not .SearchData}} Nothing to show {{end}}
如果字符串“0”
替换为int0
{{ $length := len .SearchData }} {{ if eq $length 0 }}
Sorry. No matching results found
{{ end }}
较短的版本
{{ if eq (len .SearchData) 0 }}
Sorry. No matching results found
{{ end }}
对于
{{range}}
来说,有{{else}}
也适用于地图:
{{range$item:=.}
{{$item}}
{{else}
对不起,这里没有争吵
{{end}
由于某些原因,{{{$length:=len.SearchData}{{if eq$length 0}}
在我的html模板中不起作用。但是{{if not.SearchData}}
有效。但在某些情况下,我必须使用不同值的eq
[以限制结果]。我理解您需要检查其他值。我想不出为什么它对您不起作用:(必须是模板之外的东西。您确定要传递SearchData
的预期值吗?是的。我传递缩进值是因为{{if not.SearchData}}
按预期工作。我使用空的
列表和一些值的列表进行测试。请小心,如果结果是数字,它将返回总位数。例如,如果SearchData为“1234567890”,则长度将为10,而不是1。
{{range $item := . }}
<span>{{ $item }}</span>
{{ else }}
<span>Sorry no rows here</span>
{{ end }}