【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

在这里插入图片描述

Guess you like

Origin blog.csdn.net/han1202012/article/details/122216290