一、Groovy循环
1、repeat函数:
def repeat(val)
def repeat(val,repeat=循环次数)
def repeat(msg){ for(i=0;i<5;i++){ prinln msg } } def repeat(msg,repeat=5){ for(i in 0..<repeat){ prinln msg } }
注意,参数不加def,for不需要类型,不需要分号
2、范围表达式及in循环:
0..4表示0、1、2、3、4
0..<4表示0、1、2、3
a..<e表示a、b、c、d
for(i in 0..4){ }
二、Groovy集合
1、集合定义:
def range = 0..4
def coll = [1,2,3,4]
def array= ["a","b","c"]
2、添加值
array.add("d")
array<< "d"
array[3] = "d"
3、检索(索引从0开始)
array[index]
4、集合操作
Groovy集合允许直接添加或删除单个元素或集合
def coll = [1,2,3,4] coll + 5 //结果为[1,2,3,4,5] coll - [2,3] //结果为[1,4,5]
5、集合函数
(1) join()函数:参数为分隔字符,作用是将集合的元素用指定分隔符拼接成字符串,与javascript的join一样
def coll = [1,2,3,4] coll.join(",") //结果为"1,2,3,4,5"
(2) count()函数:参数为集合中的某元素,作用是统计指定元素在集合中出现的次数
def coll = [2,1,2,3,4,2] coll.count(2) //结果为3
6、分布操作符(spread operator)
def coll = ["Java","Html"]
coll*.toUpperCase() //将集合所有值都转换成大写,结果为["JAVA","HTML"]
7、集合迭代
def coll = [1,2,3,4,5] coll.each{ println it }
类似Jquery的$.each方法,it是关键字,指向迭代到的当前元素。另提前引入闭包概念,each后的{}括起来的代码块就是一个闭包。如果不用it,可以自己指定变量:
def coll = [1,2,3,4,5] coll.each{value -> println value }
三、Groovy映射
Java的映射是键值对的集合,典型的就是Map类型。Groovy映射机制其实就是java.util.LinkedHashMap
1、定义
def map = [name:"java","type":"book"]
注意,key不比是String,Groovy会自动转成String
2、操作
map.put("id",12) prinln map.get("name") //打印结果:java map.alias = "别名" //等价于map.put("alias","别名") prinln map.alias //打印结果:别名 map["description"] = "描述信息" //等价于map.put("description","描述信息") prinln map["description"] //打印结果:描述信息
注意,使用[]从映射获取项时,必须将项作为String引用。
3、迭代映射
map.each{key,value -> println "${key}:${value}" //等价于println key+”:“+value }
四、Groovy闭包
闭包是一个代码块。在集合和映射中的迭代中已经出现了闭包使用例子,对于所有的集合和映射都能使用each闭包进行迭代。闭包除了常出现在迭代中,还有其他用途,如作为参数进行传递使用(Groovy中的函数和方法除外):
//定义一个闭包,接收一个word参数 def excite = {word -> return "${word}!!" //${word}意思是在字符串中使用word变量的值替换 } //调用闭包 excite("java") //打印java excite.call("jsp") //打印jsp
相关推荐
Groovy 学习笔记 Groovy 学习笔记
Groovy
对Groovy开发环境设置,基本语法做了简单明了的介绍
Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式
Groovy语法&Gradle配置学习笔记
在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章 向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入...
图文并茂,适合入门新手,涵盖了基本的语法讲解及一些DEMO测试,值得一看
groovy基础语法.pdf
本系列教程介绍Groovy编程语言的语法。Groovy的语法源自Java语法,但是通过特定类型对其进行了增强,并允许进行某些简化。
groovy基础语法.doc,学习groovy入门级资料
NULL 博文链接:https://rsljdkt.iteye.com/blog/859059
Groovy语法系列教程之注释.zip Groovy语法系列教程之注释.zip Groovy语法系列教程之注释.zip Groovy语法系列教程之注释.zip
第1章 数字和字符串 第2章 List的简单介绍 第3章 String的特殊用法 第4章 闭包 第5章 集合+闭包 第6章 Map和Range 第7章 函数
Groovy_笔记
本系列教程介绍Groovy编程语言的语法。Groovy的语法源自Java语法,但是通过特定类型对其进行了增强,并允许进行某些简化。
NULL 博文链接:https://key232323.iteye.com/blog/1336400
本系列教程介绍Groovy编程语言的语法。Groovy的语法源自Java语法,但是通过特定类型对其进行了增强,并允许进行某些简化。
本系列教程介绍Groovy编程语言的语法。Groovy的语法源自Java语法,但是通过特定类型对其进行了增强,并允许进行某些简化。
本系列教程介绍Groovy编程语言的语法。Groovy的语法源自Java语法,但是通过特定类型对其进行了增强,并允许进行某些简化。