groovy的变量作用域规则和java类似
在方法内部定义的变量在外部是不可见的
对groovy脚本来说,用def定义的变量对binding.variables.变量名 不可见。没有def等任何定义的可被binding.variable.变量名 所访问。
在脚本代码块中定义的变量是可见的
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 举报,一经查实,本站将立刻删除。