Groovy闭包 Closure ( 闭包作为函数参数 | 代码示例 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy闭包 Closure ( 闭包作为函数参数 | 代码示例 )相关的知识,希望对你有一定的参考价值。





一、闭包作为函数参数



声明一个 fun 函数 , 可以 将参数声明为 Closure<?> 闭包类型 , 在该函数中 , 执行闭包内容 ;

声明函数 :

/**
 * 定义一个方法 , 接收闭包作为参数 , 在方法中执行闭包内容
 * @param closure
 * @return
 */
def fun(Closure<?> closure) 
    closure()

调用上述函数时 , 只需要 将 闭包 当做 参数 传递到函数中 即可 :

    fun (
        println "Closure 1"
    )

如果 闭包是函数的最后一个参数 , 可以 省略括号 , 将闭包写在函数后面 :

    fun 
        println "Closure 2"
    




二、闭包作为函数参数代码示例



完整代码示例 :

/**
 * 定义一个方法 , 接收闭包作为参数 , 在方法中执行闭包内容
 * @param closure
 * @return
 */
def fun(Closure<?> closure) 
    closure()


static void main(String[] args) 

    fun (
        println "Closure 1"
    )

    fun 
        println "Closure 2"
    


执行结果 :

Closure 1
Closure 2

以上是关于Groovy闭包 Closure ( 闭包作为函数参数 | 代码示例 )的主要内容,如果未能解决你的问题,请参考以下文章

Groovy闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )

Groovy闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )

Groovy闭包 Closure ( 闭包参数绑定 | curry 函数 | rcurry 函数 | ncurry 函数 | 代码示例 )

Groovy闭包 Closure ( 闭包定义 | 闭包类型 | 查看编译后的字节码文件中的闭包类型变量 )

Groovy闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )

Groovy闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )