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. Oracle主从同步、双向同步的配置

    (本教程展示了Windows环境的oracle数据库主从同步,Linux环境一样也可以) (把主数据库obpm 和从数据库orcl 用实际的数据库名给替换掉) (配置主从同步后,再配置双向同步,可能会 ...

  2. pandas,pd.ExcelWriter保存结果到已存在的excel文件中

    背景:pandas支持将DataFrame数据直接保存到excel中   保存的case如下: import pandas as pd with pd.ExcelWriter('a.xls') as ...

  3. 与python的三天

    #导入海龟图 import turtleturtle.showturtle()turtle.width(20)liebiao = ['red','blue','yellow','green','pur ...

  4. ajax 常用功能 结构分解

    ajax 和后台交互基本结构 0.触发的事件. 1.获取参数 2.url 3.请求方法get/post 4.对返回结果的处理 .done如果有返加 .fail 失败 $(function () { / ...

  5. JMeter之自动重定向和跟随重定向的区别

    自动重定向:只针对Get和Head请求,自动重定向转向到最终目标页面,但是Jmeter不记录重定向的中间页面过程,只记录最终页面返回结果.在结果树中,只能看到最终页面的服务器返回. 跟随重定向:是ht ...

  6. 跳转Activity时清除当前Activity

    void GotoMainActivity(){ Intent intent = new Intent(ProductionInformationActivity.this, MainActivity ...

  7. 编写一个lambda,接受两个int,返回它们的和

    void counter(int i, int b) { auto count = [i,b]{ return i + b; }; cout<< count(); } int main() ...

  8. 【codelife 阿里技术文章分享——读后感】

    目前看到的几篇比较有感触的文章,分别是: 前端Leader如何做好团队规划?阿里内部培训总结公开   ——>这里会有关于针对技术项目如何做规划的一些指导,非常有价值 程序员吃的是青春饭?本质上取 ...

  9. zabbix基础使用--添加ping监控

    1.添加item key值表示的含义:icmpping[<target>,<packets>,<interval>,<size>,<timeout ...

  10. 轻量级富文本编辑器wangEditor

    开发公司一个系统的时候需要一个富文本编辑器,找了几个,最后选择这个,蛮不错的. 百度搜索wangEditor,进入官网根据所介绍的使用进行开发就可以了,很不错的一个工具.