文章目录
- 简介
- 一、Groovy是什么?
- 二、Groovy语法特性(相比于Java)
-
- 1.不需要分号
- 2.return关键字可省略,方法的最后一句表达式可作为返回值返回 (视具体情况使用, 避免降低可读性)
- 3.类的默认作用域是public, 不需要getter/setter方法
- 4.def关键字定义的变量类型都是Object, 任何变量, 方法都能用def定义/声明 , 在 Groovy 中 “一切都是对象 "
- 5.导航操作符 ( ?. )可帮助实现对象引用不为空时方法才会被调用
- 6.命令链, Groovy 可以使你省略顶级语句方法调用中参数外面的括号。“命令链”功能则将这种特性继续扩展,它可以将不需要括号的方法调用串接成链,既不需要参数周围的括号,链接的调用之间也不需要点号
- 7.闭包. 闭包是一个短的匿名代码块。每个闭包会被编译成继承groovy.lang.Closure类的类,这个类有一个叫call方法,通过该方法可以传递参数并调用这个闭包.
- 8.with语法, (闭包实现)
- 9.数据结构的原生语法, 写法更便捷
- 10.Groovy Truth
- 11.groovy支持DSL(Domain Specific Languages领域特定语言), DSL旨在简化以Groovy编写的代码,使得它对于普通用户变得容易理解
- 12.Java 的 == 实际相当于 Groovy 的 is() 方法,而 Groovy 的 == 则是一个更巧妙的 equals()。 在Groovy中要想比较对象的引用,不能用 ==,而应该用 a.is(b)
- 总结
简介
Groovy是构建在JVM上的一个轻量级却强大的动态语言, 它结合了Python、Ruby和Smalltalk的许多强大的特性.
一、Groovy是什么?
Groovy就是用Java写的 , Groovy语法与Java语法类似, Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码, 相对于Java, 它在编写代码的灵活性上有非常明显的提升,Groovy 可以使用其他 Java 语言编写的库.
二、Groovy语法特性(相比于Java)
1.不需要分号
2.return关键字可省略,方法的最后一句表达式可作为返回值返回 (视具体情况使用, 避免降低可读性)
3.类的默认作用域是public, 不需要getter/setter方法
4.def关键字定义的变量类型都是Object, 任何变量, 方法都能用def定义/声明 , 在 Groovy 中 “一切都是对象 "
5.导航操作符 ( ?. )可帮助实现对象引用不为空时方法才会被调用
// java
if (object != null) {
object.getFieldA();
}
// groovy
object?.getFieldA()
6.命令链, Groovy 可以使你省略顶级语句方法调用中参数外面的括号。“命令链”功能则将这种特性继续扩展,它可以将不需要括号的方法调用串接成链,既不需要参数周围的括号,链接的调用之间也不需要点号
def methodA(String name) {
println("A: " + name)
return this
}
def methodB(String name) {
println("B: " + name)
return this
}
def methodC() {