Gradle系列(二):Groovy基础

51 阅读1分钟

Gradle系列(二):Groovy基础

本篇文章继续讲下Groovy一些基础的语法。

1:Map

map与List的用法很像,只不过值是一个K:V的键值对。

下面是是Groovy中Map的定义

task testMap { def map = ['width':1280,'height':1960] println(map.getClass().name) }

执行gradle -q testMap:

java.util.LinkedHashMap

查询map值也很简单:

println(map) println(map.height) println(map['height'])

map[key]和map.key都可以访问。

如果key不存在,可返回null.

Map的迭代:

map.each { println("Key:it.key,Value:{it.key},Value:{it.value}") }

输出如下:

Key:width,Value:1280 Key:height,Value:1960

至于其他方法,我们可以直接去DefaultGroovyMethods中查看,比如find,collect等。

2:JavaBean

groovy中定义一个类:

class Man{ private String name; private String age; }

接着我们打印下man的相关属性:

task testMan{ Man man= new Man() println(man.getClass().name) println(man.age) man.age=20 println(man.age) }

输出如下:

Man null 20

groovy中,在没有给name/age属性赋值时,返回值是null.

另外,groovy中并不一定要定义成员变量来访问,我们可以通过get/set方法来访问。

修改Man属性如下:

class Man{
    private String name;
    private String age;

    String getGender(){
        "男"
    }
}

task testMan{
   Man man= new Man()
    println(man.getClass().name)
    println(man.age)
    man.age=20
    println(man.age)

    println(man.gender)
    println(man.getGender())

}

可以看到,我们只定义了getGender方法,但是我们是可以直接通过man.gender来访问的。

本文由博客一文多发平台 OpenWrite 发布!