gradle基础--闭包及闭包委托

本文介绍了Groovy的基础语法,包括方法调用的灵活性、代码块作为参数传递。着重讲解了Groovy中的闭包概念,通过示例展示了闭包的参数使用以及闭包的thisObject、owner和delegate属性。文中以Gradle为例,解释了在DSL中如何设置闭包委托,允许在闭包内部直接配置对象或调用其方法。
摘要由CSDN通过智能技术生成

2018-11-11

参考自《Android Gradle权威指南》

先来回顾一下groovy的一些基础语法

  1. 调用方法的时候,圆括号是可以省略的,比如

    def method1(int a, int b){
         
        println a+b
    }
    
    task invokeMethod <<{
         
    	method1(1,2)
        method1 1,2
    }
    
  2. 定义方法时,return是可以不写的,比如

    def getMaxNumber(int a, int b){
         
        if(a>b){
         
            a
        }else {
         
            b
        }
    }
    task printMethodReturn <<{
         
        def max1 = getMaxNumber 1,2
        def max2 = getMaxNumber 3,5
        println "max1 :${max1},max2:${max2}"
    }
    

    执行gradle printMethodReturn可以看到输出 max1 :2,max2:5

  3. 代码块是可以作为参数传递的,比如:

    //最直接的写法
    numList.each({
         println it})
    //groovy规定,如果方法的最后一个参数是闭包,可以放大方法外面
    numList.each(){
         
        println it
    }
    // 还规定了,如果出现上面的情况,圆括号也是可以省略的
    numList.each{
         
        println it
    }
    

    是不是和python很像。

    JavaBean

    在Java中为了获取、修改属性的值,通常需要通过生成getter/setter方法,但是在groovy中我们可以这样

    class Person{
         
        private String name
    
        public int getAge(){
         
            return 12
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值