Dón*_*nal 17
该代码定义了一个foo
返回闭包的函数/方法.出于理解此代码的目的,您可以将闭包视为没有名称且未附加到任何对象的方法.
可以通过传递一个参数来调用闭包.经闭返回的值将是n += it
这里it
是用来指一个封闭的参数的默认名称.如果您希望闭包的参数具有不同的名称,例如,closureParam
您需要明确定义它:
def foo(n) {
return {closureParam -> n += closureParam}
}
Run Code Online (Sandbox Code Playgroud)
将->
闭包的参数列表与闭包体分开.如果未定义参数列表,则默认值为名为的单个参数it
.也许调用闭包的例子会有所帮助:
Closure closure = foo(2)
def closureReturnVal = closure.call(4)
assert closureReturnVal == 6 // because 4 + 2 == 6
// you can omit .call when calling a closure, so the following also works
closure = foo(3)
assert 8 == closure(5)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
333 次 |
最近记录: |