`
rainy646556896
  • 浏览: 20513 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

groovy学习之闭包的应用

 
阅读更多

直接调用或通过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学习笔记 PDF版

    4. ** closures(闭包)**:Groovy的闭包是其强大的功能之一,它类似于JavaScript或Ruby中的块,可以作为参数传递,也可以在运行时定义行为。闭包在处理集合操作、回调函数等场景下特别有用。 5. **GString(字符串...

    groovy 学习gradle学习经典手册

    3. **闭包**:学习Groovy中的闭包概念,它是函数式编程的核心,常用于回调、迭代和并行处理。 4. **元编程**:理解Groovy如何通过元对象协议(Meta Object Protocol, MOP)提供元编程能力,允许在运行时动态修改类和...

    Groovy 学习资料

    - **闭包**:Groovy的闭包是其强大功能之一,它允许你定义可重用的代码块,可以作为参数传递,也可以作为返回值。 - **元编程**:Groovy的元编程能力让你可以在运行时修改或扩展类的行为。 - **GString**:...

    Grails&Groovy学习资料

    2. 函数式编程支持:Groovy提供了闭包和高阶函数,使得函数式编程风格在Java平台上成为可能。 3. 隐式类型转换:Groovy可以自动将字符串转换为数字,简化了常见的类型转换操作。 4. GString:Groovy的GString(类似...

    Groovy学习笔记.pdf

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。

    Groovy学习资料

    此外,Groovy还有闭包(Closure)的概念,这是Groovy强大的功能之一,它可以用来处理函数式编程任务,如数据过滤和映射。 其次,Groovy的动态特性是另一个关键知识点。Groovy可以在运行时改变类的结构,这意味着你...

    Groovy 学习笔记

    Groovy结合了Python、Ruby和Smalltalk等语言的特性,同时保留了与Java的无缝集成能力,使得它在编写脚本、构建工具、Web应用以及企业级应用程序开发中都有广泛的应用。 **一、Groovy基础** 1. **语法简洁**: ...

    groovy学习

    总的来说,学习Groovy包括熟悉其语法、掌握与Java的交互方式、理解其运行机制,以及探索在工具开发和自动化任务中的应用。通过深入学习和实践,开发者可以充分利用Groovy的优势,提升工作效率,特别是在处理动态性和...

    groovy 最新 学习 动态

    在Web应用开发方面,Groovy最常见的用途之一是Grails框架。Grails是一个基于Groovy的全栈框架,用于构建现代Web应用程序。它集成了Spring、Hibernate等流行的技术,使得开发者能够快速构建功能丰富的应用。Grails的...

    groovy包及相关学习资料

    - 另外,压缩包可能还包含了一些示例代码、教程或者Groovy的特定使用案例,这对于学习和理解Groovy的实际应用非常有帮助。 通过深入学习和实践Groovy,开发者可以提升开发效率,利用其灵活性和强大功能来解决各种...

    Groovy学习笔记

    ### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...

    Groovy学习资料(包括Groovy in action 的中英文以及API)

    总的来说,"Groovy in Action"提供了全面的学习材料,配合API文档,可以帮助开发者迅速掌握Groovy的精髓,并将之应用到实际项目中。通过阅读这本书和实践其中的示例,你将能更好地理解和利用Groovy的强大力量,提升...

    groovy学习大礼包

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个强大工具,被广泛用于脚本编写、自动化任务、构建工具以及服务器端应用开发。Groovy结合了Java的面向对象特性和Python、Ruby的简洁语法,使得它在开发过程中...

    groovy学习资料

    - 闭包是Groovy的核心特性之一,它是一个可以捕获其周围环境的代码块,可以作为参数传递或作为返回值。 - 闭包的定义通常使用`{}`,例如`def sum = { a, b -> a + b }`,这个闭包接受两个参数并返回它们的和。 5....

    groovy

    Groovy是一种基于Java平台的、动态的、强大的编程...无论是编写脚本、开发Web应用还是进行数据处理,Groovy都是值得学习和使用的强大工具。通过深入理解和实践,开发者可以充分利用Groovy提高工作效率,提升项目质量。

    groovy入门实例代码详细(包括字符串,map,闭包等等)

    通过这些实例代码,你可以逐步了解和掌握Groovy的基础知识,并将其应用到实际的项目开发中。记得动手实践,因为编程的学习离不开实践和调试。希望这个代码包能帮助你快速入门Groovy,开启编程之旅。

    Groovy应用(基本操作)

    此外,Groovy Shell和Groovy Console提供交互式环境来测试和学习Groovy代码。 8. **元编程** Groovy支持元编程,允许在运行时修改或扩展类的行为。这对于创建动态行为或者实现AOP(面向切面编程)非常有用。 通过...

Global site tag (gtag.js) - Google Analytics