Groovy闭包和对象
这一节我们学习Groovy的高级功能。
一、闭包
闭包实际上是一种不同的函数声明方式,它是一种可以被打包、传递和赋值给变量的函数。
1)只需要使用类似花括号中的代码就可以声明一个函数,
代码如下:
运行结果如下:
2)与正常的函数不同,闭包可以在不同的变量之间传递:
运行结果:
我们可以看出运行结果是一样的;
3)Groovy允许使用高阶函数:
运行结果如下:
4)Groovy允许列表语言值语法:
运行结果如下:
在上例中我们对列表中的每一个项目执行闭包,这种情况下闭包将会执行每一个项目。
5)更改上例:
我们在行中定义闭包,注意并没有使用圆括号。同时Groovy使用了一个参数,默认情况下参数可以调用闭包。
运行如下:
6)Groovy中创建类:
从上例可以看出,底层是Java代码中的创建类的方法;同时Groovy会自动生成成员变量的Get和Set方法;
运行一下:
7)闭包可以设置代表对象:
运行结果:
在本例中如果直接执行“greetingClosure()”,并没有什么作用。Geeting变量并没有在greetingClosure中定义,在这里需要将greetingClosure设置成GroovyGreeter的对象就可以了。