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

groovy学习之闭包声明

 
阅读更多

简单的声明方式,闭包作为参数传递给方法

def log = ''
(1..3).each{element -> log += element}
assert log == '123'

log = ''
(1..3).each{log += it}
assert log == '123'

 

花括号可以用来构建一个闭包对象或者是groovy代码块

//赋值给变量
def test = {line -> println line}

//作为方法的返回值
def Closure getTest() {
    return {element -> println element}
}

 

闭包对象赋值给变量,然后被方法调用

def map = ['a': 1, 'b': 2]
def doub = {key, value -> map[key] = value*2}
map.each(doub)
assert map == ['a': 2, 'b': 4]

 

引用方法作为闭包

def map = ['a': 1, 'b': 2]
def closureTest(entry) {
   map[entry.key] = entry.value * 2
}
def closure = this.&closureTest
map.each(closure)
assert map == ['a':2, 'b':4]

 

分享到:
评论

相关推荐

    groovy 学习gradle学习经典手册

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

    Groovy 学习资料

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

    Grails&Groovy学习资料

    1. 动态类型:Groovy允许在不声明类型的情况下编写代码,这使得代码更简洁,开发速度更快。 2. 函数式编程支持:Groovy提供了闭包和高阶函数,使得函数式编程风格在Java平台上成为可能。 3. 隐式类型转换:Groovy...

    Groovy学习资料

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

    Groovy 学习笔记

    2. **动态类型**: Groovy是动态类型的,这意味着在编译时不需要声明变量的类型,类型会在运行时自动推断。 3. **Groovy Shell和GroovyConsole**: 这两个工具是学习和测试Groovy代码的好帮手,可以快速尝试和验证代码...

    groovy学习

    在Groovy的学习过程中,首先会接触到它的基本语法结构,如变量声明、控制流语句(如if-else、for循环、while循环)和函数定义。Groovy的语法相对简洁,与Java相比,代码更易读写。例如,Groovy支持闭包,这是一种...

    groovy学习资料

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

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

    - Groovy支持动态类型,所以不需要预先声明类型。 3. **数组**: - Groovy中的数组可以通过`[]`创建,如`def arr = [1, 2, 3]`。 - 可以使用索引访问数组元素,如`arr[0]`,也可以通过`each`循环遍历数组。 4. ...

    groovy入门经典,groovyeclipse 插件

    无论是新手还是经验丰富的开发者,都能通过学习Groovy和使用GroovyEclipse插件提升工作效率。通过阅读《Groovy经典入门》这本书和实践其中的示例,你可以快速掌握Groovy语言并开始利用其强大的功能。

    groovy in action 中文版 2017.11

    Groovy提供了大量的动态特性,比如动态类型、闭包、元编程能力等,使得编写脚本或应用程序变得更加高效和愉悦。Groovy是完全兼容Java的,这意味着Java开发人员可以轻松地使用Groovy编写程序,并利用Groovy提供的强大...

    Groovy安装以及简单使用

    在Groovy中,`each`方法接收一个闭包作为参数,这个闭包对数组中的每个元素进行操作。上面的代码会打印出每个数字的两倍值。 Groovy与Java的集成非常紧密,可以通过`@groovy.transform.CompileStatic`注解实现静态...

    Z2-Groovy in Action.pdf

    Groovy闭包可以像方法一样被调用,也可以作为参数传递给其他方法。闭包中可以自由地访问它被创建时作用域中的变量(闭包的自由变量)。这为Groovy的编程提供了很大的灵活性,例如可以轻松实现事件监听、回调函数、...

    实战groovy.rar

    3. 集合与闭包:熟悉Groovy的List、Map等集合操作,以及强大的闭包特性。 4. 文件I/O和网络编程:学习如何使用Groovy进行文件操作和网络通信。 5. 测试与调试:掌握Spock测试框架,进行单元测试和集成测试。 6. 深入...

    Groovy Script 入门

    2. **动态类型**:Groovy采用了动态类型系统,变量无需显式声明类型。 3. **闭包支持**:闭包是Groovy的一个强大特性,它可以像对象一样被传递和存储,用于实现高级编程模式。 4. **元编程**:Groovy支持元编程,...

    groovy+in+action

    - **定义**:闭包是Groovy中最强大的特性之一,它是一种可以访问其外部作用域变量的匿名函数。 - **使用场景**:闭包常用于数据处理、事件监听、配置文件编写等场景。 - **高级用法**:Groovy还支持闭包的递归...

    Groovy&Grails准备,收集的Groovy与Grails的书籍

    4. **闭包**:Groovy中的闭包是一种强大的功能,类似于函数引用,可以作为参数传递,有助于实现函数式编程风格。 5. **元编程**:Groovy支持元编程,允许在运行时修改或扩展类的行为,增强了语言的灵活性。 6. **...

Global site tag (gtag.js) - Google Analytics