在模板条件中允许 Nil 值
使用 Go 模板时,您可能会遇到这样的场景:如果对象为零,但如果设置了特定属性,则显示不同的内容。虽然可以使用匿名结构,但这可能会引入不必要的样板文件。
多功能解决方案
要优雅地解决此问题,请考虑以下方法:
模板代码
{{if not .}} // default content {{else if eq .MetaValue "some-x"}} // some-x case {{else}} // other case {{end}}
说明
此模板代码按顺序计算以下表达式:
通过使用 not 运算符代替 eq 。 nil,这种方法可以处理所有可能的场景,包括对象为 nil、空或具有 nil 以外的值的情况。这消除了显式 nil 检查或引入不必要的匿名结构的需要,使您的模板保持干净和简洁。
以上是Go模板中如何根据nil对象和属性值显示不同的内容?的详细内容。更多信息请关注PHP中文网其他相关文章!