groovy 变量作用域

groovy的变量作用域规则和java类

  1. 方法内部定义的变量在外部是不可见的

  2.  对groovy脚本来说,用def定义的变量对binding.variables.变量名 不可见。没有def等任何定义的可被binding.variable.变量名 所访问。

  3. 在脚本代码块中定义的变量是可见的

    

void testvarScope(){
    a = 111
    def b = 222
}
println a
println b

//块内定义,不使用def,全局可见
if(true){
    def email = "sky@gmail.com"
    //email = "sky@gmail.com"
    println "in code block email=$email"
}
println "out of block email=$email"

//没有用def定义
num = 5
println binding.variables.num == 5
//用def定义
def name = "sky"
println binding.variables.name

运行结果:
in code block email=sky@gmail.com
in code block email=sky@gmail.com
age = 30
true
null

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...