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:
i
t
.
k
e
y
,
V
a
l
u
e
:
{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来访问的。