概述
- 定义闭包
def closure_name = {
// closure body
}
上面代码定义一个名为 closure_name 的闭包,用途由 closure body 中的代码定义。匿名闭包指不声明闭包变量名,只有闭包方法体{ //closure body }
- 无参闭包
def closure_with_no_param = {
println 'hello,world!'
}
执行closure_with_no_param()
或者closure_with_no_param.call()
,将输出hello,world!
- 含参闭包
def closure_with_param = {
x,y-> println "x plus y is " + (x+y)
}
执行closure_with_param(1,2)
,结果为x plus y is 3!
可以设置默认参数值,例如:
def closure_with_param = {
x,y=0-> println "x plus y is " + (x+y)
}
执行closure_with_param(1)
,结果为x plus y is 1!
- 与方法/函数的结合使用
定义闭包
def closure_demo = {
x -> println x
}
定义方法
def method_name(Closure closure_name){
for(int i=0;i<=100;i+=1){
closure_name(i)
}
}
执行method_name(closure_demo)
或者method_name closure_demo
,结果输出如下:
1
2
3
...
100
- Gradle构建脚本简析
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
其中:
dependencies
为方法或函数名,参数为闭包类型- 接下来的
{...}
是一个闭包
//这是个闭包
{
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
group: 'commons-collections'
将group
变量的值设为commons-collections
compile
为方法/函数
参考文献
- https://www.w3cschool.cn/groovy/groovy_closures.html
- http://blog.csdn.net/cckevincyh/article/details/75212415
最后
以上就是儒雅小鸭子为你收集整理的Gradle基础知识——Groovy的闭包的全部内容,希望文章能够帮你解决Gradle基础知识——Groovy的闭包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复