Groovy中的变量
1.变量类型(groovy中都是对象类型)
基本类型
对象类型
2.变量定义
强类型
声明的时候,定义指定类型
弱类型
声明时候用def 关键字定义类型
String
1.java.lang.String
2.DefaultGroovyMethods
3.StringGroovyMethods
普通类型的参数
闭包类型的参数
逻辑控制
1. 顺序逻辑
2.条件逻辑
If/else
Switch/case
支持各种类型
3.循环逻辑
While循环
For循环
for(I in 0..9)
闭包
1.概念
定义:就是一段代码块
调用
Clouser.call()
Clouser()
2.闭包参数
普通参数
{String name-> println “Hello ${name}”}
隐式参数
It
3.闭包返回值
必有返回值,如果没有return值,默认返回null
闭包的使用
1.与基本类型结合使用
1.upto(num,{})
2.downto(1){}
3.times{}
2.与String结合使用
Str.each{}
Str.find{},Str.findAll{}
Str.any{}
Str.collect{}
3.与数据结构结合使用
4.与文件等结合使用
闭包进阶
1.闭包关键变量
This 代表闭包定义处的类
Owner 代表闭包定义处的类或者对象
Delegate
任意一个第三方对象,可以修改,默认owner指向的对象
2.闭包委托策略
设置Clouser.resolveStrategy = Closure.DELEGATE_FIRST
数据结构
1.列表
定义
def list =[a:"1.0",b:"2.0.1",c:"sdf"]
操作(增删改查)
List.find{},List.any{},List.every{},list.max(),…
排序
List.sort{}
2.映射
就是Map,字典
3.范围Range
定义 1..10
面向对象
1.类,接口等定义和使用
Trait 接口,允许接口有默认的实现
2.元编程
针对于时期的不同,有编译器,解释执行期,运行时
流程图

MetaClass
可以为类动态添加属性,方法(类似于kotlin扩展方法)
通过ExpandoMetaClass.enableGloabally()设置为全局可用的
网友评论