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

为何Terraform字符串插值语法会返回列表而非字符串?

Terraform字符串插值为何返回列表而非字符串?

这是因为Terraform的字符串插值语法${...}有个关键行为:如果插值表达式的结果是非字符串类型,Terraform会直接保留其原类型,而不是强制转换为字符串。

拿你给出的例子来说:

> "${[1,2,3]}"
[
  1,
  2,
  3,
]

这里${}内部的[1,2,3]是一个列表类型,整个表达式本质上是直接引用这个列表值,而非把列表转成字符串再包裹。只有当插值内容和其他字符串内容拼接时,Terraform才会自动把非字符串值转为字符串。比如你写"当前列表:${[1,2,3]}",结果就会是字符串"当前列表:[1, 2, 3]"。

简单说,Terraform的插值语法不是单纯的字符串拼接工具,它会根据表达式的整体结构判断最终返回的类型——单一非字符串值的插值,会直接返回原类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:47:01