一个range就是一个区间和一个关于如何遍历该区间的策略
range的定义:在左边界和右边界之间含2个点号就是一个range left..right
双点号区间操作符优先级很低所以经常需要使用小括号(left..right)
另外不包含右边界的range定义如下(left..<right)
因为range是对象所以可以传递他们可以调用他们的方法
range的each和contains方法是最突出的
只要数据类型满足如下2个条件该数据类型就可以和range一起使用:
1)实现了next和previous方法,也就是overrides操作符++和--
2)实现了java.lang.Comparable接口,也就是实现了compareTo方法或者overrides操作符<=>
list的定义:[],默认情况下list是java.util.ArrayList类型
list中的putAt和getAt方法支持下标运算
list中的对象不一定是同一类型的
map的定义:[:],默认情况下map是java.util.HashMap类型
Groovy认为在小括号中的标识符是表达式,例如:
def x = 'a'
assert ['x':1] == [x:1]
assert ['a':1] == [(x):1]
这里第二个assert语句会先对x求值.
三种访问map的方法:
1)def value = map[key]
2)def value = map.key
3)def value = map.get(key) or map.get(key,default)
map的两种赋值方法:
1)map[key] = value
2)map.key = value
map的each方法有2中使用closure的方式:
1)给closure传一个参数则该参数代表entry
2)给closure传两个参数则第一个参数代表key第二个参数代表value
add addAll remove removeAll retainAll这些方法会修改调用他们的对象但是不会返回一个集合
grep findAll collect这些方法不会修改调用他们的对象但是会返回一个集合
分享到:
相关推荐
Groovy 学习笔记 Groovy 学习笔记
Groovy
Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式
对Groovy开发环境设置,基本语法做了简单明了的介绍
Groovy_笔记
第1章 数字和字符串 第2章 List的简单介绍 第3章 String的特殊用法 第4章 闭包 第5章 集合+闭包 第6章 Map和Range 第7章 函数
Groovy语法&Gradle配置学习笔记
NULL 博文链接:https://rsljdkt.iteye.com/blog/859059
图文并茂,适合入门新手,涵盖了基本的语法讲解及一些DEMO测试,值得一看
本系列文章是从原著《Groovy For Domain-Specific Languages》(原作者: Fergal Dearle)中翻译而来,从中加入了一些本人自己的读书笔记和理解。本系列文章不为任何商业目的,只为更好的传播 groovy dsl 技术知识。...
NULL 博文链接:https://xiajs.iteye.com/blog/1871551
本笔记详细记载从本人入门学习到案例操作的所有详细过程,中有截图,与源码对照,不管是初学者还是对其需要研究的人都能是一本难得的资料,欢迎下载,下期我将提供最新的项目实战NOTE,并会时时更新.....
NULL 博文链接:https://yinxvxv.iteye.com/blog/811328
在项目的根目录下创建一个sonar-project.properties文件从项目根目录运行sonar-scanner命令单击分析结尾处提供的链接,以在SonarQube UI中浏览项目的质量笔记CodeNarc :可以通过设置sonar.groovy.codenarc.repor
这是groovy的学习笔记和入门级别的文档教程 共享下载 希望对学习grails 和 groovy的人有帮助
如果您看了在下的笔记,觉得不错,可以再看一下Gradle的笔记。 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的...
入门笔记 基于《Learning Groovy》 Authors: Davis, Adam L. github文档地址 https://richardgong1987.github.io/groovy-learning 本人网名:止水 email: skype: ae3586 如果你觉得有用,也可以支付宝打赏小弟,...
在将ADT与AndroidStudio进行对比鼓励开发者们积极拥抱,并列举了AndroidStudio与Gradle下一些深入实用的功能,分享自己以及在帮助用户集成过程中遇到的坑之后,作者追本溯源,对Groovy与Gradle进行了讲解,帮助...
笔记 个人软件开发说明