【笔记】Grovvy学习笔记

前言

Apache的Groovy是Java平台上设计的面向对象编程语言。这门动态语言拥有类似Python、Ruby和Smalltalk中的一些特性,可以作为Java平台的脚本语言使用,Groovy代码动态地编译成运行于Java虚拟机(JVM)上的Java字节码,并与其他Java代码和库进行互操作。由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库。Groovy的语法与Java非常相似,大多数Java代码也符合Groovy的语法规则,尽管可能语义不同。 Groovy 1.0于2007年1月2日发布,并于2012年7月发布了Groovy 2.0。从版本2开始,Groovy也可以静态编译,提供类型推论和Java相近的性能。Groovy 2.4是Pivotal软件赞助的最后一个主要版本,截止于2015年3月。Groovy已经将其治理结构更改为Apache软件基金会的项目管理委员会(PMC)。(维基百科

输出语句

<str>:需要输出的语句

1
println(<str>);

可以省略末尾分号

1
println(<str>)

可以省略小括号

1
println <str>

定义变量

  • def是弱类型

<name>:变量名
<value>:变量值

1
def <name> = <value>

List集合

定义一个List

1
def list = ["value_1", "<value_2>"]

添加元素

1
list << "<value_3>"

获取元素

<index>:元素的索引

1
list.get(<index>)

Map集合

定义一个Map

1
def map = ["key_1":"value_1","key_2":"value_2"]

添加元素

1
map.key_3 = "value_3"

获取元素

<key>:根据key获取value

1
map.get("<key>")

方法

定义一个方法

1
2
3
def method() {
...
}

定义一个有参数的方法

1
2
3
def method(参数列表) {
...
}

调用方法

1
method()

调用有参数的方法

1
method(参数列表)

闭包

  • 闭包实质上就是代码块
  • 在Grovvy中通常将闭包当作参数使用

定义一个闭包

  • 定义一个闭包,闭包体内可以写很多函数
1
2
3
def closure = {
...
}

定义一个有参数的闭包

  • 定义一个带参数的闭包,同时使用${}调用闭包的参数
1
2
3
4
def closure = {
参数名 ->
println(${参数名})
}

调用闭包

1
closure()

调用有参数的闭包

1
closure(参数列表)

将闭包作为方法的参数

  • 将闭包作为方法的参数,同时方法体内的调用闭包
1
2
3
def method(Closure closure) {
closure()
}

完成

哔哩哔哩——Java基基