前言
- 本篇学习下闭包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) }