You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hugo中如何检查输入字符串非空?多种尝试方法无效

Hugo 非空字符串检查问题解决

你遇到的情况大概率是变量$foo并非严格意义上的空字符串,或是模板渲染时被解析成了特殊值(比如空白字符、未正确初始化的nil值)。以下是几种更可靠的检查方式:

  • 结合trim和len过滤空白字符:如果$foo可能包含空格、换行等无效空白内容,先清理再判断长度:

    {{ if and $foo (gt (len (trim $foo "")) 0) }}
      <!-- 显示内容 -->
    {{ end }}
    
  • 严格匹配空字符串+检查变量存在性:确保变量已定义且确实不等于空字符串(以页面参数为例,其他变量替换对应获取方式):

    {{ if and (isset .Params "foo") (ne .Params.foo "") }}
      <!-- 显示内容 -->
    {{ end }}
    
  • 使用with语句简化判断:with会自动判断变量是否存在且非空,同时将上下文切换到该变量:

    {{ with $foo }}
      <!-- 显示内容 -->
      <!-- 此处可用`.`指代$foo -->
    {{ end }}
    

另外也可以检查下你传入foo=""的方式是否正确,比如在Front Matter中定义时,有没有多打空格或引号格式错误的问题。

内容的提问来源于stack exchange,提问作者Mig82

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:39:52