Groovy学习笔记(一)基本语法
发布时间:2020-12-14 16:44:09 所属栏目:大数据 来源:网络整理
导读:1.变量的定义和赋值 def param type param (param1,param2,param3) = [1,2,3] ?//注: 句尾分号可有可无 2.包的导入 import com.a.b //解决命名冲突使用as关键字 import com.a.b.C as AC import com.b.b.C as BC AC ac BC bc 3.数组及循环定义 a.顺序数组: 1.
1.变量的定义和赋值 def param type param (param1,param2,param3) = [1,2,3] ?//注: 句尾分号可有可无 2.包的导入 import com.a.b //解决命名冲突使用as关键字 import com.a.b.C as AC import com.b.b.C as BC AC ac BC bc 3.数组及循环定义 a.顺序数组: 1..3,1..<5 type IntRange b.离散数组:[1,4,6] as int[] c. for (i in 1..3) {},for (i = 0; i < 10; i++) d.3.times {} e. 3.upto(5) {} 4.空指针及异常判断 a.Object?.exec() b.try { //TODO }catch(ex) {//TODO} 5.用接口封装闭包(单方法接口) interface Listener { void perform() } def function(Listener listener) { listener.perform() } function ({//TODO} as Listener) //闭包对象将被封装到Listener的perform方法中 对于多方法接口的闭包传递方法(MAP类): handle = [perform1 : {//TODO},perform2:{//TODO}] function (handle as Listener) 动态调用动态类型 def types = ['ActionListener1','ActionListener2'] def handle = {println it} for (i in types) { handleImpl = handle.asType("com.test.$i") obj."add$i"(handleImpl) } 6.运算符重载 <<: leftShift(other) +: plus(other) 7.switch语句: switch (state) { case [state1,state2]: break; case state3: break; } 8.动态类型调用 class Man { def sayHello() {//TODO} } class Woman { def sayHello() {//TODO} } function (person) { person.sayHello() } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |