文章目录
一、调用闭包
二、闭包默认参数 it
三、代码示例
一、调用闭包
执行 Closure 变量 的 call() 方法 , 可以调用该闭包 ;
// 定义闭包变量 def closure = { println "Hello Closure!" } // 调用闭包 closure.call()
执行上述代码 , 打印 Hello Closure! ;
直接 在 Closure 变量之后 , 写一个括号 , 也可以调用闭包 ;
// 定义闭包变量 def closure = { println "Hello Closure!" } // 调用闭包 closure()
执行上述代码 , 打印 Hello Closure! ;
二、闭包默认参数 it
闭包 Closure 默认可以 接收一个默认参数 , 该参数变量名称是 it ,
如果 不传入参数 , 则该 it 就为 null ,
如果 传入参数 , 该 it 变量就是该传入的参数值 ;
在 closure() 调用时 , 传入一个参数 , 会自动赋值给闭包中的 it 变量 ;
// 定义闭包变量 def closure = { println it } // 调用闭包 , 并传入一个默认参数 closure("Hello")
上述代码会打印 Hello ;
三、代码示例
代码示例 :
class Test { static void main(args) { // 定义闭包变量 def closure = { println "Hello Closure!" } // I. 打印闭包类型 // 打印闭包变量类型 println closure.getClass() // II. 调用闭包 // 调用闭包 1 closure.call() // 调用闭包 2 closure() // III. 闭包默认参数 // 定义闭包变量 def closure1 = { println it } // 调用闭包 closure1.call("Hello") // 调用闭包 , 并传入一个默认参数 closure1("Closure") } }
执行结果 :
class Test$_main_closure1 Hello Closure! Hello Closure! Hello Closure