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

Groovy中如何将另一个变量的值作为变量名进行赋值?

Groovy动态变量名赋值实现方案

通用Groovy环境实现

你可以直接通过当前上下文的Binding对象实现动态变量赋值:

name = "some_name"
address = "some_value"
// 将变量值作为新变量名赋值
this.binding.setVariable(name, address)
// 验证输出
println "this is \"${some_name}\""

执行后输出:

this is "some_value"

Jenkins Pipeline专用实现

如果是在Jenkins流水线中使用,更推荐直接操作env全局环境变量,所有构建步骤都可以直接访问:

// 假设这是用户传入的键值对Map
def userInputMap = [
    "some_name": "some_value",
    "other_key": "other_value"
]
// 批量暴露为全局环境变量
userInputMap.each { key, value ->
    env.setProperty(key, value)
}
// 后续步骤直接访问
echo "this is \"${env.some_name}\""
// 也可以省略env前缀直接访问(取决于Jenkins版本配置)
echo "this is \"${some_name}\""

如果不需要全局生效,仅需要在当前脚本上下文生效,也可以使用和通用Groovy一致的binding方案。

错误写法说明

你之前尝试的"${name}" = "${value}"写法不符合Groovy语法规则,赋值符号左侧必须是可写的变量引用,不能是字符串字面量,所以会抛出语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:24:04