如何比较golang中html/template中列表的长度?

我正在尝试比较 golang html/template 中列表的长度。但它在 html 中永远加载。


{{ $length := len .SearchData }} {{ if eq $length "0" }}

    Sorry. No matching results found

{{ end }}

有人可以帮我解决这个问题吗?


梵蒂冈之花
浏览 249回答 3
3回答

翻翻过去那场雪

从文档来看,{{if pipeline}} T1 {{end}}:如果管道的值为空,则不产生输出;否则,执行T1。空值是 false、0、任何 nil 指针或接口值,以及任何长度为零的数组、切片、映射或字符串。点不受影响。因此,如果您想检查.SearchData切片/数组/映射是否为空,只需使用,{{if not .SearchData}} Nothing to show {{end}}如果 string"0"被 int 替换,即使你的代码也能正常运行0{{ $length := len .SearchData }} {{ if eq $length 0 }}    Sorry. No matching results found{{ end }}http://play.golang.org/p/Q44qyRbKRB

qq_笑_17

更短的版本{{ if eq (len .SearchData) 0 }}    Sorry. No matching results found{{ end }}

炎炎设计

有{{ else }}适用{{ range }}于地图以及https://play.golang.org/p/7xJ1LXL2u09:{{range $item := . }}&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <span>{{ $item }}</span>{{ else }}&nbsp; &nbsp; <span>Sorry no rows here</span>{{ end }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go