Groovy简介及安装

引言

最近准备好好学习下Gradle,而学习Gradle的前提是必须要会点Groovy。在此,将自己学习Groovy的经历记录下。

Groovy简介

Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。

我自己的理解是Groovy是一个基于JVM的动态脚本语言。基于JVM,意思就是运行Groovy时,首先会被编译成Java的class文件,然后再运行到JVM上。动态脚本语言,是说变量的类型可以不固定,就像Python,Js那样声明的变量。同时用Groovy写代码的时候不用像Java那样一定要个类或者方法,可以直接写执行语句,运行的时候不用先编译,可以直接解释执行。当然这点其实是

Groovy和Java的区别

Groovy和Java法语非常接近,甚至从某种意义上来讲Groovy就是Java。首先,它们都基于JVM,其次我们完全可以在Groovy文件中写Java代码,不会有任何问题。了解Groovy后,会发现Groovy和Java最大的区别就是Groovy更具生产力,完全同样的任务Groovy比Java要少写非常多的代码。这得益于Groovy松散的语法和一些新特性,主要表现为:

  • 语法较为松散,允许省略分号,修饰符(默认都是public)
  • 允许定义简单脚本,无需定义正规的类对象和方法
  • 本地集合,为集合增加的魔方方法,内置正则表达式,闭包
  • 变量类型推断,类型不固定
  • 一体两面,Goovy代码和Java代码可以互相复用

下面用一个实际的例子,来清楚地表明Groovy和Java的区别。

  1. 用Java编写一段Hello World

    新建一个HelloWorld.java

    1
    2
    3
    4
    5
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello World!");
    }
    }

    这段代码,第一次学习Java的时候,书上就是这样写的。

    javac命令编译这个类文件

    1
    javac HelloWorld.java

    java命令执行这个文件

    1
    java HelloWorld
  2. 用Groovy来实现同样的功能

    新建一个文件HelloWorld.groovy

    1
    println "Hello World!"

    groovy命令运行这段代码

    1
    groovy HelloWorld.groovy

    可以看到,用Groovy实现同样的功能,非常简洁,就和Python一样。这里没有声明正规的class对象和方法,打印方法也是简写,直接println +参数。并且调用的时候,也不需要带括号。行末也没有添加分号。另外,运行这个文件直接解释执行,不需要提前编译。当然这背后肯定是Groovy自己默默帮我们编译成class文件再运行的。

    现在我们把上面的java代码完全写在Groovy文件中,groovy命令运行,会发现和之前的结果一模一样。这就说明了Groovy其实就是Java!只是语法松散的Java。

安装Groovy

  1. Groovy依赖于Java,所以首先得先配置Java环境,这个就不说了。

  2. 到Groovy官网下载SDK,下载完毕后,解压即可。

  3. 配置环境变量。

    新建GROOVY_HOME,值为刚才解压的路径。再将GROOVY_HOME添加到PATH当中。

  4. 测试

    win+R,输入cmd,进入控制台。输入groovy -version,看到有打印Groovy版本说明配置Groovy成功了。