11-Groovy-Closures(闭包)和Ranges(范围)

简介: 11-Groovy-Closures(闭包)和Ranges(范围)

前言

  • 本篇学习下闭包Closures和范围Ranges的使用

闭包

  • 基本使用
// 定义闭包
def myClosure = { println "Hello Groovy" }
// 调用闭包
myClosure.call()
  • 带参数闭包
// 带参数的闭包
def myClosure1 = { name -> println "Hello ${name}" }
// 调用闭包
myClosure1.call("大海")
  • 带返回值闭包
// 带返回值的闭包
def myClosure2 = {
    a, b, c ->
        return (a + b + c)
}
// 调用闭包
println myClosure2(1, 2, 3)
  • 使用闭包遍历list
// 遍历List
def myList = ["大海", "28", "测试工程师", "辽宁人"]
myList.each {
    info ->
        println info
}
  • 使用闭包遍历map
// 遍历Map
def myMap = [
        "name": "大海",
        "age" : "28",
        "city": "北京"
]
myMap.each {
    key, value ->
        println key + ":" + value
}

范围

  • 创建序列
// 创建有序序列
def range = 1..10   // 包含10
println range.size()
println range.getFrom()  // 首个值
println range.getTo()  // 最后一个值
println "---------------------"
// <value  不包含value   不包含10
def range1 = 1..<10
println range1.size()
println range1.getFrom()
println range1.getTo()
  • 遍历range
// 遍历range
def range2 = 1..20
for (i in range2) {
    println(i)
}


相关文章
|
2月前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包(Closures)
深入理解JavaScript中的闭包(Closures)
|
2月前
|
存储 自然语言处理 JavaScript
深入理解JavaScript的闭包(Closures)
深入理解JavaScript的闭包(Closures)
37 0
|
8月前
|
程序员 编译器 C++
C++中的函数重载(Function Overloading)
C++中的函数重载(Function Overloading)
89 2
|
编译器 程序员 C++
函数重载(function overloading)
函数重载(function overloading)是编程语言中一种支持多个同名函数的特性,这些函数在参数列表(参数类型和数量)上有所不同。当调用一个重载函数时,编译器会根据函数参数列表的具体情况进行匹配,然后调用相应的函数实现。
117 5
|
索引
在循环内使用闭包(Closures)
在循环内使用闭包(Closures)
86 0
|
前端开发 JavaScript 安全
JS闭包(Closures)了解一下
闭包对于前端开发者来说,既十分重要,又非常难理解。如果能很好的理解它,那你将能写出很多高逼格的代码,并且成为人生赢家,赢取白富美。 这篇文章,我们来一起简单的认识一下,你走向人生巅峰的敲门砖(闭包)。 Note: 闭包不是JS所特有的。它是一个计算机概念,应用的场景也很多。
108 0
JS闭包(Closures)了解一下
|
Python
闭包(Closure)
闭包(Closure)
80 0
|
JavaScript 前端开发 网络架构
underscore 系列之内部函数 restArgs
如果不使用 ... 拓展操作符,仅用 ES5 的内容,该怎么实现呢?我们可以写一个 restArgs 函数,传入一个函数,使用函数的最后一个参数储存剩下的函数参数
110 0
underscore 系列之内部函数 restArgs
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )
122 0
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员赋值及源码分析 )
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员赋值及源码分析 )
182 0
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员赋值及源码分析 )