package variable
import org.codehaus.groovy.runtime.DefaultGroovyMethods
//闭包的使用
//1闭包与基本类型变量结合使用
//求指定number的阶乘
int fab(int number){
int result=11.upto(number,{num ->result *= num})//1是从1开始,到number,下面的方式一样的.因为upto是DefaultGroovyMethods的静态方法.1属于Integer类型,所以可以直接调用//DefaultGroovyMethods.upto(1,number,{num->result *=num})return result//upto
}
//使用downto方法
int fab2(int number){
int result=1//grovvy中闭包可以不放在括号内,可以直接放在括号外.像下面这张写法number.downto(1){ num->result *=num }return result
}
int x=fab(4)
int y=fab2(4)
println x//24 :123*4
println y//24
//累计求和
int cal(int number){
int result//times方法的参数也是闭包,闭包写在括号外是groovy中很常见的方式.times方法的实现循环始终是从0开始的number.times { num->result +=num }return result
}
println cal(10)
//闭包传递参数类型及个数不知道时,需要查看源码方法中是如何调用的
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦