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

如何精简Helm Chart模板中的if else冗余代码?

精简Helm Chart模板中的多层if else代码

你可以用Helm内置的模板函数来简化这段多层嵌套的if else逻辑,以下是两种简洁实现方式:

方式一:使用default函数

default函数会在第一个参数为空(包括值不存在、nil、空字符串等情况)时,返回第二个参数作为默认值,刚好匹配你的优先级逻辑(优先用global.namespace,否则用namespace):

namespace: {{ .Values.global.namespace | default .Values.namespace }}
name: {{ .Values.name }}

方式二:使用coalesce函数

coalesce函数会返回传入参数中第一个非空的值,适合多候选值的优先级判断,这里同样满足优先取global.namespace的需求:

namespace: {{ coalesce .Values.global.namespace .Values.namespace }}
name: {{ .Values.name }}

这两种写法都和你原来的多层if else逻辑完全等价,但代码更简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:10:26