Groovy语言基础
一、语言特性:
Gradle是使用Groovy构建脚本语言的。Groovy是一门运行在Java虚拟机(JVM)上的语言,并且为需要脚本语言的java开发者填补漏洞。Groovy语言简洁,易于使用,可以很好地和java语言一起使用,并且具有一些非常适用于创建特定领域语言的特殊功能。
然而我们并不需要掌握大量的Groovy语言的知识去书写Gradle脚本,但是它能够帮助我们书写一些基本的脚本功能。Gradle提供了自己的Groovy版本,所以我们不需要下载安装Groovy。我们可以将我们的Groovy代码放进build.gradle文件中,然后让Gradle去读取需要在脚本文件中执行的代码。
二、语法基础:
1)首先,我们声明一个叫做“groovy”的task。但是不做任何事情:
使用命令“gradle groovy”运行该脚本,结果如图:
注意:本案例中我的“build.gradle”文件是在G盘该文件下,所以运行该task的命令之前需要先找到该文件夹。
在本示例中,我们看到并没有执行任何实质性的操作,但是这是程序的开始。
2)打印“HelloGroovy!”
再次执行该指令我们看一下结果:
3)多数的有效的java语句也是Groovy语句。我们创建一个java类,
看一下效果:
4)变量:
Groovy是一种动态类型的语言,也就是说它是在运行时检查变量的类型的。所以我们不需要定义变量的类型。
如:def foo = 6.5
在这里我们使用“def”关键字定义所有的变量类型;
Groovy通过使用字符串的插入符号可以方便的构建字符串。一个变量在其前面使用dollar($)符号可以插入到字符串中。
如:
println "foo has value: $foo"
文件内容:
运行结果如图:
我们也可以在Groovy语言中结合使用$符号和{};
如:println "Let's do some math. 5 + 6 = ${5 + 6}"
同时我们可以为该变量重新指定一个不同类型的数据,我们可以使用“foo.class”获取变量的类型;
println "foo is of type: ${foo.class}and has value: $foo"
foo = "a string"
println "foo is now of type:${foo.class} and has value: $foo"
文件内容如下:
运行结果为:
5)定义一个函数:
内容如下,
在该方法中我们即不需要返回值类型,也不需要变量的类型。甚至方法里都没有返回语句。在输出语句中,后半部分就是返回语句。
我们查看一下运行结果:
同样也适用于String:
运行结果如下:
6)我们定义不同参数列表的函数:
在调用至少一个参数的方法的时候你可以不适用圆括号;
执行语句如下:
执行结果为:
我们尝试一下函数的嵌套:
运行一下:
这样会导致逻辑的混乱;
修改成这样就没问题了:
运行结果为: