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 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦