Groovy 支持操作符重载, 每个操作符对应一个方法签名, 如‘+’对应的是’plus’.
Groovy 支持多种字符串表示, 单引号, 双引号(支持GString), 3个单引号(支持多行), 3个双引号(支持多行, 支持GString).
在 Groovy 中, 方法的括号是可选的, 如果一行只有一个语句, 那么语句后的分号也可省略不写.
Groovy range, 可用于: 数字, 日期, 字符串. 只要数据类型实现了 next(++), previous(–), 和 java.lang.Comparable 接口, 就可以使用 range .
Groovy list 默认使用 ArrayList, 欲使用 LinkedList 等其它类型 List, 需要明确声明.
List 可以使用负值作为index值进行访问, 例如 list[-1]返回的就是list的最后一个值, list[-2]则返回倒数第二个值. 也可以指定倒序的 range, 如list[4..0].
需注意: list[0..<-2] 等价于 list[0..-1] 而非 list[0..-3].
声明空的map: [:]
['a':1] 等价于 [a:1]
(1..10).each{ log += it } 等价于 (1..10).each({ log += it })
Closure声明方式之一是: reference.& (其中receiver是对象)
def adder = { x, y -> return x+y } 等价于 adder(4, 3) 或 adder.call(2, 6)
文件读写更加简单:
def file = new File(’myFileName.txt’)
for (line in file) println line
方法的最后一个语句得到的值作为返回值,所以return语句是可选的
异常不强制要求捕获
for (it in aaa) 中,变量 aaa 可以是字符串,可以是对象,等等