- 源代码:
- package mars.groovy
- /**
- * @author Eric Han
- * 2008-9-3 11:58:28
- */
- public class MyClosure{
- public static void main(def args){
- def myfirstClosure={man->println "Hello ${man}"}
- myfirstClosure.call('Eric')
- myfirstClosure('Carry')
- println ''
- def map=['Eric':30,'bobo':29,'Carry':25]
- map.each{println "${it.key} age is: ${it.value}"}
- println ''
- map.findAll{age->age.value>28}.each{println it}
- println ''
- def isAnyOneTrue=[11,12,13,14].any{n->n>12}
- def isEveryOneTrue=[11,12,13,14].any{n->n>10}
- println "any one is true? ${isAnyOneTrue}"
- println "every one is true? ${isEveryOneTrue}"
- def result
- println ''
- def list=[1,2,3,4,5]
- result=list.collect{n->return n*n}
- println "collect result:${result}"
- println ''
- def list1=[1,2,3,4,5]
- result=list1.inject(1){previousValue,currentValue->previousValue*currentValue}
- println "inject result:${result}"
- }
- }
- 输出:
- Hello Eric
- Hello Carry
- Eric age is: 30
- bobo age is: 29
- Carry age is: 25
- bobo=29
- Eric=30
- any one is true? true
- every one is true? true
- collect result:[1, 4, 9, 16, 25]
- inject result:120
Groovy的闭包示例
最新推荐文章于 2021-09-24 15:16:49 发布