default、required 与 quote
提供备用值并强制要求必填输入
default、required 与 quote 是 CoddyKit 上的免费 Helm Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Helm Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Helm Academy 课程共包含 4 节课。
三个日常使用的函数
几乎每个 Chart 都会用到三个函数:默认值用于回退,必需值用于强制要求,引号函数用于安全处理字符串。
使用默认值填补空缺
默认值函数会在值为空或缺失时提供回退值,因此您的模板不会渲染出空白内容。
{{ .Values.replicas | default 1 }}默认值函数的参数顺序
以函数形式书写时,回退值位于前面,实际值位于后面。在管道中,实际值会最后到达,因此读起来更加自然。
{{ default "nginx" .Values.image }}什么算作空值
对于默认值函数,空值包括 0、空字符串、空列表或 nil。其中任何一种情况都会触发回退值。
使用必需值强制要求输入
当值缺失时,必需值函数会带着您的消息停止渲染,将静默错误变成清晰的错误提示。⛔
{{ required "image is required" .Values.image }}必需值函数返回该值
当值存在时,必需值函数会直接返回它,因此您可以将它内联放在任何必填字段所在的位置。
host: {{ required "host is required" .Values.host }}编写有帮助的错误消息
好的必需值消息会指出缺失的键以及设置方式,让用户无需阅读 Chart 就能解决问题。
使用引号函数处理安全字符串
引号函数会将值包裹在双引号中,避免 YAML 将看起来像数字、布尔值或 null 的值错误解析。
version: {{ .Values.version | quote }}引号为何重要
如果不使用引号函数,类似 yes 或 1.20 的值可能会被解析为布尔值或数字。加上引号可以让它稳定地保持为字符串。
组合使用这三个函数
这些函数可以在一个管道中组合使用:先提供默认值,再为结果加上引号,全部写在一行清晰易读的表达式中。
tag: {{ .Values.tag | default "latest" | quote }}如何在它们之间选择
值可选时使用默认值,值必填时使用必需值。只要字符串必须保持为字符串,就应使用引号函数。
快速检查
值缺失时,哪个函数会使渲染失败?
回顾
您了解了用于回退的默认值、用于必填输入的必需值,以及用于安全字符串的引号函数。它们结合起来可以让值更加可靠。🎉
常见问题解答
「default、required 与 quote」课时是免费的吗?
是的 — 「default、required 与 quote」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Helm Academy 课程的其余内容,请升级到 CoddyKit PRO。 Helm Academy 课程共包含 4 节课。
「default、required 与 quote」这节课中我会学到什么?
提供备用值并强制要求必填输入 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Helm Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Helm Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「default、required 与 quote」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Helm Academy 课中编写并运行代码吗?
能。每节 Helm Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 通过函数传递 Values
- default、required 与 quote
- Sprig 库中的字符串辅助函数
- 使用 b64enc、toYaml 与 indent 进行编码