美文网首页
Groovy Closure

Groovy Closure

作者: ThomasLiao | 来源:发表于2018-11-18 21:58 被阅读7次

    Closure

    在groovy官方文档中,闭包定义为开放的,匿名的而且有输入输出(可以输入参数并且返回值)的代码块

    • 闭包是一段带上下文的函数-保存在某个地方
    • 闭包可以赋值给变量,在有需要的时候执行
    • 我们使用groovy定义的任何闭包,groovy都会替其生成一个groovy.lang.Closure的子类
    • 在运行时,一般的代码是会被即时执行的,但是闭包只有在被调用的时候才会被执行

    闭包调用

    • 直接调用
    public void run(Closure closure) {
        closure()
    }
    
    • 通过call() 方法调用, 可以接受任意个参数作为入参
    public void run(Closure closure) {
        closure.call()
    }
    

    // actually there is a doCall(), 这里略过

    Curried parameters

    • curry named after , Haskell Curry

    Closure memoization

    Memoization allows the return values for closure invocations to be cached.

    相关文章

      网友评论

          本文标题:Groovy Closure

          本文链接:https://www.haomeiwen.com/subject/omrnfqtx.html