Groovy Closure

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.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 语法 1.1. 定义一个闭包 闭包是Groovy中非常重要的一个数据类型或者说一种概念。闭包是一种数据类型,...
    _Ryan阅读 11,188评论 1 4
  • groovy closure初次使用 closure是groovy里比较有特色的一个东西,有点类似与java8里的...
    来福马斯特阅读 5,546评论 0 0
  • 原文链接:https://github.com/EasyKotlin 值就是函数,函数就是值。所有函数都消费函数,...
    JackChen1024阅读 11,332评论 1 17
  • 一、安装: 两种安装方式: 直接官网下载,然后在配置中(.bash_profile的PATH中)加上groovy的...
    mas_wang阅读 8,227评论 0 2
  • 剽悍行动营复盘总结 053-温馨 去年就考虑报名了,因为与考试时间冲突所以没有参加。今年其实也有考试任务,还是抓紧...
    温馨_c19d阅读 3,339评论 0 0

友情链接更多精彩内容