第一个groovy程序
1.是什么
groovy是一个基于jvm平台的动态脚本语言,它的读音是['ɡruːvi] ,本质上和java语言相同,在groovy中可以兼容java语法。
它的优点是代码简单,和java无缝集成,容易上手,并且具有非常丰富的官方文档和api。
2.安装
安装groovy只需三步:下载、解压、配置环境变量。
首先进入groovy的官网http://www.groovy-lang.org/,选择DOWNLOAD标签,直接点击按钮下载即可:
groovy提供了非常多的安装方式,此处选择最简单的压缩包方式。
下载成功够将其解压到指定目录:
复制bin目录所在的路径:
将其加入环境变量中:
配置成功后无论在哪个路径下打开命令行窗口都可以执行groovy命令,在命令行中输入groovy -v ,如果出现以下提示则代表安装成功:
3.hello world
可以直接新建一个以groovy结尾的文件,在其中输入代码,然后使用groovy命令执行,也可以使用IDE创建,其本质是一样的,此处使用IDE的方式运行。
选择创建项目,选中groovy,指定jdk版本和groovy安装目录,接着next填写项目名称即可:
在src下创建文件,并输入代码,之后右键、运行,在控制台上便可以看到打印出来的信息了:
4.和java对比
到目前为止,唯一看不懂的就是那一行代码了。此时就需要明确几个至关重要的概念:
- groovy和java使用的是相同的平台,在groovy中可以使用java的所有语法
- groovy是一种动态执行的脚本语言,不同于java中必须从main方法开始执行
- groovy提供了一系列的开发工具包用于简化程序开发
- 虽然可以使用java的语法与代码风格,但是groovy还是规定了一套自己的代码风格
理解上述几条规则后,便可以通过java的视角触类旁通的入门groovy了。
比如第一条,既然支持java语法,那么可以把程序改成这样的:
System.out.println("hello groovy")
// 与上述一致
// println("hello groovy")
对于groovy和java的不同点,官方已经总结并写成了文档:http://groovy-lang.org/differences.html
其中比较重要的有以下几点:
1.groovy默认导入了很多包下的类,具体有:
2.默认省略修饰符,如果需要可通过注解添加
class Person {
@PackageScope String name
}
3.当字符串中存在占位符时,它的类型为GString
assert 'c'.getClass()==String
assert "c".getClass()==String
assert "c${1}".getClass() in GString
4.所有基本类型都为包装类型
5.使用===或is代替equals
6.新增关键字
- as
- def
- in
- trait
- it // 在闭包中它代表了java中的this
在groovy中定义变量和方法使用def关键字
def age = 10
def m1(){
println "m1"
}
在groovy中提供了List、Map和Range,并且它还为这些集合提供了开发工具包http://www.groovy-lang.org/groovy-dev-kit.html,使用这些api对文件操作简单到极致。
比如读取文件并打印:
new File("file.txt").eachLine { line ->
println line
}