Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在golang中比较html/模板中列表的长度?_Html_Go_Equals_Go Html Template - Fatal编程技术网

如何在golang中比较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指针或接口值以及任何数组、切片、, 映射,或长度为零

我试图比较golang html/模板中列表的长度。但它永远都在html中加载

{{ $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”
替换为int
0

{{ $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 }}