groovy学习之闭包声明

本文详细介绍了如何使用闭包作为参数传递给方法,在Groovy中构建闭包对象及代码块的应用,包括闭包赋值给变量、引用方法作为闭包等场景,并通过实例展示了闭包在实际编程中的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值