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())
}
}

1.准备工作之Groovy的更多相关文章

  1. AutoRegister ASM AOP 字节码 案例 原理 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. Groovy实现原理分析——准备工作

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  3. Groovy学习笔记(二)

    在上一篇文章中我们主要学习了如何搭建Groovy开发环境,为我们的Groovy之旅做好了准备工作,不知道你是否准备好了?接下来我们就一起看看Groovy与我们熟悉的Java有什么异同. Groovy是 ...

  4. Android Gradle脚本从Groovy迁移到Kotlin DSL

    Android Gradle从Groovy迁移到Kotlin Android项目用Gradle构建, 其脚本语言之前是Groovy, 目前也提供了Kotlin的支持, 所以可以迁移到Kotlin. 官 ...

  5. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  6. 步入angularjs directive(指令)--准备工作熟悉hasOwnProperty

    在讲解directive之前,先做一下准备工作,为何要这样呢? 因为我们不是简单的说说directive怎么用,还要知道为什么这么用!(今天我们先磨磨刀!). 首先我们讲讲js 基础的知识--hasO ...

  7. Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)

    这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...

  8. Linux平台 Oracle 11gR2 RAC安装Part1:准备工作

    一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...

  9. 半吊子学习Swift--天气预报程序-准备工作

    MacBookPro买完快半年了,当初想着买个本本学点ios,买完就看了几天的教程[捂脸],最近发现人都要废了,想重新开始学习Swift并将每天的进程通过博客发布来督促自己. 由于文笔不好,接触Swi ...

随机推荐

  1. MySql中SQL语句与其他数据库不一样的地方

    目前发现的mysql与其他数据库如SqlServer.Oracle不同的地方 mysql中的注释(--)后要多加一个空格才生效 mysql中查询条件的字符串可以是双引号 mysql中查询条件的字符串不 ...

  2. vue data中调用图片的相对路径

    直接将图片源文件放在项目目录的static文件夹里,然后和正常写图片路径那样写就可以了,不支持自定义的图片路径

  3. flock - 必应词典

    flock - 必应词典 美[flɑk]英[flɒk] v.聚集:群集:蜂拥 n.(羊或鸟)群:(尤指同类人的)一大群 网络羊群:大量:羊群,一群 变形复数:flocks:过去分词:flocked:现 ...

  4. CentOS7编译安装mysql-5.6.43

    Step 1:安装编译需要的软件和工具 [root@node-1 ~]# yum install gcc gcc-c++ cmake ncurses-devel bison Step 2:创建mysq ...

  5. linux,无法进行写操作怎么办?read-only file system

    一句命令搞定: mount -o remount rw /

  6. java 编程英语单词,语句

    记录一下java 编程工作学习中常用的英语汇总 in other words: 换句话说 dangle :悬挂 separated:分开的 distinct:明显的,独特的 actual :实际的 i ...

  7. CentOS7.2 1511部署RabbitMQ

    一.安装RabbitMQ依赖的的Erlang最小支持包(当然也可以安装完整的Erlang) 1.下载RabbitMQ的Erlang最小支持包源文件 git clone https://github.c ...

  8. ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh

    Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...

  9. grunt压缩js代码

    安装node.js的环境和grunt插件在上一篇已经将过,点击这里跳到上一篇 所以我们直接从压缩插件的安装开始讲 起 1.安装uglify插件 目录结构如下: 命令行:npm install grun ...

  10. Java发送手机短信(附代码和解析,亲测有效,简便易操作)

    这个方法用的是中国网建SMS短信通相关依赖进行操作的~~ 很简单,仅需要三步,第二部代码直接复制,不需要修改,第三部中的用户名和密钥修改成自己的即可 <1> 首先需要导入三个jar包 &l ...