groovy(8)-闭包结合int

package variable

import org.codehaus.groovy.runtime.DefaultGroovyMethods

//闭包的使用

//1闭包与基本类型变量结合使用

//求指定number的阶乘

int fab(int number){

        int result=1

        1.upto(number,{num ->result *= num})

     //1是从1开始,到number,1属于Integer类型,所以可以直接调用.下面的方式一样的.因为   upto是DefaultGroovyMethods的静态   方法.

    //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)

//闭包传递参数类型及个数不知道时,需要查看源码方法中是如何调用的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容