von der Dokumentation,
{{if Pipeline}} {{T1 end}}: Wenn der Wert der Pipeline leer ist, wird kein Ausgang erzeugt wird; Ansonsten wird T1 ausgeführt. Die leeren Werte sind false, 0, ein beliebiger Nil-Zeiger oder Schnittstellenwert und ein beliebiges Array, Slice, Map oder eine Zeichenfolge der Länge Null. Punkt ist nicht betroffen.
Wenn Sie also, wenn die .SearchData
Scheibe/Array überprüfen möchten/Karte leer ist nur verwenden,
{{if not .SearchData}} Nothing to show {{end}}
Auch Ihr Code läuft gut, wenn der String "0"
durch int ersetzt 0
{{ $length := len .SearchData }} {{ if eq $length 0 }}
Sorry. No matching results found
{{ end }}
http://play.golang.org/p/Q44qyRbKRB
Aus irgendwelchen Gründen '{{$ Länge: = len .SearchData}} {{if eq $ length 0}} 'funktioniert nicht in meiner HTML-Vorlage. Aber '{{wenn nicht .Suchdaten}}' funktioniert. Aber in einigen Szenarien muss ich 'eq' mit verschiedenen Werten verwenden [um die Ergebnisse einzuschränken]. – Dany
Ich verstehe, dass Sie nach anderen Werten suchen müssen. Ich kann mir nicht vorstellen, warum es nicht für dich funktionieren würde :(Muss etwas außerhalb von Templates sein. Bist du sicher, dass du den beabsichtigten Wert für 'SearchData' übergibst? –
Yeah. Ich übergebe die eingerückten Werte weil' {{if nicht .SearchData}} funktioniert wie erwartet. Ich habe mit 'empty' Liste und mit einigen Werten getestet – Dany