微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐