Groovy闭包 Closure ( 闭包调用 | 闭包默认参数 it | 代码示例 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy闭包 Closure ( 闭包调用 | 闭包默认参数 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

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

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

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

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

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

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

Groovy04_闭包