Da documentazione,
{{se conduttura}} T1 {{end}}: Se il valore della pipeline è vuota, non output viene generato; altrimenti, viene eseguito T1. I valori vuoti sono false, 0, qualsiasi puntatore nullo o valore di interfaccia e qualsiasi matrice, porzione, mappa o stringa di lunghezza zero. Il punto non è interessato.
Quindi, se si desidera controllare se il .SearchData
fetta/array/carta è vuota basta usare,
{{if not .SearchData}} Nothing to show {{end}}
Anche il codice viene eseguito correttamente se la stringa "0"
è sostituito dal int 0
{{ $length := len .SearchData }} {{ if eq $length 0 }}
Sorry. No matching results found
{{ end }}
http://play.golang.org/p/Q44qyRbKRB
fonte
2016-03-13 06:18:28
Per alcuni motivi '{{$ length: = len .SearchData}} {{if eq $ lunghezza 0}} 'non funziona nel mio template html. Ma '{{if not .SearchData}}' funziona. Ma in alcuni scenari devo usare 'eq' con valori diversi [per limitare i risultati]. – Dany
Capisco la necessità di verificare altri valori. Non riesco a pensare al motivo per cui non funzionerebbe per te :(Deve essere qualcosa fuori dai template. Sei sicuro di aver passato il valore previsto per 'SearchData'? –
Sì. Sto passando i valori indentati perché' {{if not .SearchData}} 'funziona come previsto. Ho provato con la lista' empty' ed elencato con alcuni valori – Dany