1.准备工作之Groovy

Groovy(读做:gu : ru : wei)

Groovy是一种运行在jvm上的动态语言,它吸取了Python、Ruby和SmallTalk等语言的优点;在Java的基础之上增加了许多特色功能,相比Java语法更易懂,易上手调试;无缝集成了Java的类库,编译后的.groovy也是以class形式出现。

下载安装

下载地址:http://groovy-lang.org/download.html
解压zip文件 unzip apache-groovy-sdk-2.5.4.zip
配置环境变量 export GROOVY_PATH=/Users/emmet/apache/groovy-2.5.4 export PATH=$PATH:$GROOVY_PATH/bin
测试groovy安装是否成功 groovy -v

Groovy脚本

变量定义def name = "gegeza" 或者 int age = 13
定义集合

def ageRange = 0..5
def col = ['bitwalk', 'emmet', 'gegeza']

集合加减元素

assert ageRange - [2,4] == [0,1,3,5]
col.add('shawanyi')
col << 'haha'
col[6] = 'jiuzheme'
col += 'bugan'

定义map

def dada = [name:'dada', age:16, addr:'hangzhou']
print(dada.getClass())

循环

//循环方式1
for (i in 1..<10) {
    println(i)
}
//循环方式2   it为默认关键字
col.each {
    println(it)
}
//循环方式3
ageRange.each { value ->
    println(value)
}
//map循环方式
dada.each {key, value ->
    println("${key}-${value}")
}
'bitwalk'.each {
    println(it.toUpperCase())
}

定义闭包

def excite = {
    word -> return "this is ${word}"
}
println(excite('what'))

Grovvy类

import org.junit.Test

class Song {
    def name
    def artist
    def genre
    //加?可避免空指针异常
    String getArtist() {
        return artist?.toUpperCase()
    }

    String toString() {
        return "${name}, ${artist}, ${genre}"
    }
    static void main(args) {
        def song = new Song(name: "Hope", artist: "dd", genre: "F");
        println(song.toString())
    }
    @Test //加Test注解即可启用Junit测试
    void test() {
        def song = new Song(name: "Hope", genre: "F");
        println(song.getArtist())
    }
}

原文地址:https://www.cnblogs.com/ggza/p/10032277.html