直接调用或通过call()方法调用
def adder = {x, y -> return x+y} assert adder(2, 3) == 5 assert adder.call(4, 5) == 9
def benchmark(repeat, Closure worker) { def start = System.currentTimeMillis() repeat.times{worker(it)} def stop = System.currentTimeMillis() return stop - start } def slow = benchmark(10000) {(int) it/2} def fast = benchmark(10000) {it.intdiv(2)} println slow println fast assert slow > fast
通过闭包实现累加
def foo(n) { return {n += it} } def closure = foo(1) assert closure(2) == 3 assert closure(1) == 4
相关推荐
Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式
了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...
Groovy提供类似于Java的语法结构,本地化支持映射和列表、方法、类,闭包和构造器等结构。由于具有动态弱类型,以及无缝访问JavaAPI等特性,Groovy语言非常适合子开发中小型规模的应用程序。 相对于Java语言,...
了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...
Groovy提供类似于Java的语法结构,本地化支持映射和列表、方法、类,闭包和构造器等结构。由于具有动态弱类型,以及无缝访问JavaAPI等特性,Groovy语言非常适合子开发中小型规模的应用程序。, 相对于Java语言,...
译注:原文作者比较火星,我不了解 Groovy 以及 Scala 语言,所以这里我加上 Javascript 的实现。 在开始之前先说明下,本例子仅仅是阐明观点,并没有考虑性能等其他方面的因素。 “货比三家” 用个简单的例子开始...
3.4 Groovy的闭包 30 3.4.1 闭包的定义 30 3.4.2 闭包的代表 31 3.4.3 闭包在GDK中的使用 31 3.5 本章小结 33 第二篇 实际应用 第4章 商品维护 36 4.1 准备工作 36 4.2 查看商品列表 40 4.3 创建和编辑商品 44...
第1章 寻找grails之旅 1.1 java的困惑 1.2 webc2.0时代 1.3 java的力量 1.4 什么是grails 1.4.1 与java集成 1.4.2 简单而强大 1.4.3 吸取的经验教训 1.5 使用grails的原因 ...