Groovy 是基于jvm的动态语言, 面向对象, 也可以是脚本语言。
与java比较
- 完全兼容java语法;
- 行尾分号可选;
- 类、方法默认是public
- 自动添加getter setter方法;
- 属性可以直接用点号获取
- 最后一个表达式的值会被作为返回值, 当然可以显示使用return
- == 在java中使用的是内存地址比较,在groovy中调用的equals方法,不会出现空指针异常
可选的数据类型
def version = 1
assert
assert version == 2
括号是可选的
println (version)
println version
字符串
定义字符串 可以使用 单引号 、 双引号 、 三引号。
单引号是字符串 ; def s1 = 'immoc'
双引号可以插入变量 , "gradle version is ${version}"
三引号可以换行定义:
def s3 = ''' my name
is
imoock '''
list
def lll = ['ant', 'maven']
追加列表元素 lll << 'gradle'
map
def mymap = ['ant':2000, 'maven':2004]
追加元素 mymap.gradle = 2009
打印:
println mymap.ant
println mymap.gradle
println mymap.getClass()
闭包
def c1 = {
v ->
print v
}
def c2 = {
print 'hello'
}
def method1(Closure closure) {
closure('param')
}
def method2(Closure closure) {
closure()
}
调用闭包 :
method1(c1)
method2(c2)
网友评论