Groovy 闭包 -- Gradle教程(三)
Groovy 闭包是代码块,可以被引用、带参数、作为方法参数传递、作为返回值从方法调用返回。 语法简介先来看看闭包的语法,如下面的所示,很简单,其中方括号表示其可省略。 { [closureParameters -> ] statements } closureParameters 是可选的参数列表,可以是0到多个,参数是可以有类型的,或者无类型的。如果声明了参数,那么其后面的 再来看看一些具体的例子。 // 编号1
第一个例子,表明了一个没有类型的参数的自增操作;第二个例子是第一个例子的简写,自由一个参数时可以这样简写;第三个和第四个例子,也是同样的意思;第五个例子,是第四个例子的另一种写法,表明参数的名字可以随意规定;第六个例子,则是多类型参数的写法,其中 闭包在 Groovy 中的特殊属性闭包在 Groovy 中实际上是类型为 def listener = {
?e -> println "Clicked on $e.source"
所以,Closure 里面的方法都可以调用,例如
例如我们申明一个这样的闭包。 def cl = { name.toUpperCase()} 这时候 cl 并不知道任何信息,name 是什么也不清楚。这时候就可以将 delegate 引入,将具体的逻辑委托给另一个类。 class Preson {
?String name
}
实际示例我们通常在使用 task 时,会在后面使用 doLast 这个函数,doLast 接受一个闭包作为参数。 task helloWorld {
? ? ? ?doLast {
? ? ? ? ? ? ? ?println "Hello,world!"
? ? ? ?}
}
实际上 doLast 后面只接受一个参数,也就是闭包,如果你使用 doLast(Closure) 也是可以的。 更多信息参考 http://groovy-lang.org/closures.html 文档信息
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |