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 ...
随机推荐
- 聚宽投资研究获取A股05年至今全部数据
#用中正全指'000985.XSHG'获取全部A股数据pool=get_index_stocks('000985.XSHG') #date存储05年开始全部交易时间 date=get_price('0 ...
- 关于d3.js 将一个element 拖拽到另一个element的响应事件
rt 正在做机柜可视化, 一个需求是能拖拽左侧列表的设备名称, 拖到右侧42U机柜中,并将设备图片放置在对应机柜位置上. 开始的时候一切都很顺利,点击左侧设备名称,添加一个g容器,将设备名称作为tex ...
- myhabits where in foreach
myhabits传入参数:类,其中类中包含字符串数组String[] 当查询where in String[]时 <select id="selectData" parame ...
- springboot添加自定义注解
spring拦截器是基于动态代理,注解就是拦截器,所以关于动态代理需要注意的坑,注解同样要注意. 1.创建注解类 /** * @Target 此注解的作用目标,括号里METHOD的意思说明此注解只能加 ...
- es6对象的扩展
对象(object)是 JavaScript 最重要的数据结构之一. object 在es6中新增了很多便利的方法 在es6中允许直接写入变量和方法的名称直接作为对象的属性 let x =1 ,y=2 ...
- why?
优点 充分利用多核CPU的计算能力: 方便进行业务拆分,提升应用性能 缺点 上下文切换 注意线程安全,避免死锁
- ROS零门槛学渣教程系列前言
为什么选择ROS: 1.ROS是开放源码的,在该平台上可以找到非常很多免费开源的代码包,并且这些例程还带wiki说明文档: 2.机器人领域最新的算法直接支持ROS,简单几个步骤就能运行: 3.ROS工 ...
- centos7安装zabbix server
1.参照下列网址方法,打开端口:80,3306,443,22,10050,10051(可能实际不需要打开这么多) https://www.cnblogs.com/lw-2019forlinuxpyth ...
- spring微服务架构-脑图
spring团队对新一代软件开发的思索.为什么软件开发是spring boot?为什么软件开发是spring cloud?如何使用spring cloud搭建微服务. 清晰脑图查看
- 使用Typescript实现依赖注入(DI)
前言DI总是和ico相辅相成的,如果想对DI有更多的了解,可以移步我的另一篇文章 依赖注入(DI)和控制反转(IOC),再次我就不多做赘述了. 前几天看见一道面试题,今天借这个话题想跟大家分享一下: ...