Groovy 是基于 JVM 的一门动态编程语言,语法跟 Java 很有很多相似之处,如果 Java 程序员或者 Android 程序员很容易就上手了。Groovy 在 Java 的基础上又添加很多高级特性,比如说闭包。这很大从程度上提高的了 Groovy 的灵活性,也可以说 Groovy 是一门灵活的动态脚本语言。这里就大致介绍一下 Groovy 的部分语法。
1. 字符串
Groovy 对字符串的操作跟Java的操作有相似的地方,但是比 Java 的字符串更加高级,更加方便。Groovy 中有三种字符串,分别是单引号‘ ’,双引号” “,跟三引号’’’ ‘’’。
1.1 单引号‘ ’
Groovy 的单引号跟 Java 的字符串是一样的。就是纯粹的字符串变量。编写下面代码
task helloString {
doLast {
println ' hello Groovy String'
}
}
在终端执行:
gradle helloString
控制台会输出
hello Groovy String
1.2 双引号” “
Groovy 的双引号字符串在单引号的基础上有可以对表达式做运算的作用。看个例子:
task helloString {
def time=1
doLast {
println " hello Groovy String ${time}"
println " 1加上2等于: ${1+2}"
}
}
在终端执行:
gradle helloString
控制台会输出
hello Groovy String 1
1加上2等于: 3
从上面的例子可以看出,双引号是有对表达式做运算的功能的。这个功能相对于 Java 来说,也可以避免很多恶心的+号串联字符串。
1.3 三引号’’’ ‘’’
三引号字符串支持随意换行,原样输出字符原型。看个例子:
task helloString {
def time=1
doLast {
println '''
1. 不准吃零食
2. 不准喝可乐
3. 不准打豆豆
'''
}
}
在终端执行:
gradle helloString
控制台会输出
- 不准吃零食
- 不准喝可乐
- 不准打豆豆
相当于来说,这几种特性还是很有用的。只能说 Groovy 对字符串支持相当强大,综合了一些脚本语言的特性。类似 Kotlin 的字符串也是跟 Groovy 的字符串特性一样。
2. 集合
Groovy 也是很强大。Groovy 不仅完全兼容了 Java 集合,并且进行扩展。这里我们可以学习一下常用两种集合类 List 跟 Map
2.1 List类
如果你把它做成 Java 中的 List 语法操作也是可以的。比如:
task helloList{
List<String> list=new ArrayList<String>()
list.add("1")
list.add("2")
list.add("3")
list.add("4")
doLast {
for (int i = 0; i < list.size(); i++) {
print list.get(i)
}
}
}
在终端执行:
gradle helloList
控制台会输出
1234
当然,既然 Groovy 进行强大的功能扩展,我们也是要好好了解的。
在 Groovy 中定义一个 List 是非常方便的。
def list=[0,1,2,3]<