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())
}
}
1.准备工作之Groovy的更多相关文章
- AutoRegister ASM AOP 字节码 案例 原理 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Groovy实现原理分析——准备工作
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- Groovy学习笔记(二)
在上一篇文章中我们主要学习了如何搭建Groovy开发环境,为我们的Groovy之旅做好了准备工作,不知道你是否准备好了?接下来我们就一起看看Groovy与我们熟悉的Java有什么异同. Groovy是 ...
- Android Gradle脚本从Groovy迁移到Kotlin DSL
Android Gradle从Groovy迁移到Kotlin Android项目用Gradle构建, 其脚本语言之前是Groovy, 目前也提供了Kotlin的支持, 所以可以迁移到Kotlin. 官 ...
- 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 服务器安装操 ...
- 步入angularjs directive(指令)--准备工作熟悉hasOwnProperty
在讲解directive之前,先做一下准备工作,为何要这样呢? 因为我们不是简单的说说directive怎么用,还要知道为什么这么用!(今天我们先磨磨刀!). 首先我们讲讲js 基础的知识--hasO ...
- Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)
这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...
- Linux平台 Oracle 11gR2 RAC安装Part1:准备工作
一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...
- 半吊子学习Swift--天气预报程序-准备工作
MacBookPro买完快半年了,当初想着买个本本学点ios,买完就看了几天的教程[捂脸],最近发现人都要废了,想重新开始学习Swift并将每天的进程通过博客发布来督促自己. 由于文笔不好,接触Swi ...
随机推荐
- jQuery取得radio的值 取select得值
获取一组单选按钮对象: var obj_payPlatform = $('#wrap input[name="payMethod"]'); 获取被选中按钮的值 : var val_ ...
- django之组件
(Django) 组件:本质上就是将一个写好的功能模块的html文件直接引入html目标文件,利用其功能. 标准语法: {% include 'html文件名' %} 如:{% include 'na ...
- AXI
1.Cachable和bufferable 一个Master发出一个读写的request,中间要经过很多Buffer,最后才能送到memory.这些Buffer的添加是为了outstanding,ti ...
- mysql 悲观锁与乐观锁的理解
悲观锁与乐观锁是人们定义出来的概念,你可以理解为一种思想,是处理并发资源的常用手段. 不要把他们与mysql中提供的锁机制(表锁,行锁,排他锁,共享锁)混为一谈. 一.悲观锁 顾名思义,就是对于数据的 ...
- 面试简单整理之web
63.servlet是什么?运行过程? Servlet是一门用于开发动态web资源的技术. 运行过程: Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: ①W ...
- yii2.0 邮件发送如何配置
邮件发送配置: 打开配置文件将下面代码添加到 components => [...]中(例:高级版默认配置在/common/config/main-local.php) 'mai ...
- linux下创建密钥
1.生成rsa文件 : a)ssh-keygen -t rsa,然后会提示在/root/.ssh/id_rsa这个路径下存放密钥文件 b)进入到/root/.ssh目录下,将id_rsa.pub更改为 ...
- IDEA debugger模式下启动慢
很可能是因为代码里面有端点造成的. 点击如下图的重叠红点,找到对应端点点掉就可以了.
- 图解Go的channel底层原理
废话不多说,直奔主题. channel的整体结构图 简单说明: buf是有缓冲的channel所特有的结构,用来存储缓存数据.是个循环链表 sendx和recvx用于记录buf这个循环链表中的发送或者 ...
- Dockerfile制作自定义镜像
本文介绍最精简的Dockerfile文件构建镜像,Docker启动的时候可以启动一个shell脚本 1.首先编写Dockerfile文件 说明 1.启动的这个shell脚本一定是不退出的,比如服务器的 ...