Groovy初步了解

简介

Groovy是一种基于JVM的强大的动态语言,它是成熟的面向对象编程语言,同时又可以用作纯粹的脚本语言。由于其简单而熟悉的语法,能够很大程度上提升Java平台开发人员的生产力。它能够和Java程序无缝衔接,然后使得你的程序具备其强大的特性,包括其脚本、域专用语言,运行时以及编译时的元编程、功能编程。

Groovy和Java语法上的一些区别

  1. 方法的最后一句会作为返回值;
  2. 一个语句结束可以没有分号;
  3. 自动生成getter以及setter;
  4. 可以以”object.fieldName”的方式访问属性字段;
  5. 使用“==”比较null值的对象与其他对象不会抛出空指针异常。

Groovy的高效特性

1.可选类型定义变量

例如

/**不必声明变量类型**/
def myAge=21
2.assert断言
/**这个断言当然是不成功的,因为之前已经声明过myAge=21**/
assert myAge==22
3.括号是可选的
/**以下两句代码执行的效果是一致的**/
println(myAge);
println myAge;
4.字符串
/**Groovy的字符串有3种形式**/
def s1="Java";
def s2='Groovy';
def s3='''python''';
/**它们的区别在于'xxx'仅仅表示字符串,而"xxx"可以插入变量,例如`"I'm ${myAge} years old"`,当使用'''xxx'''来表示字符串时,则可以在字符串中保留换行。**/
5.集合API
def buildTools=['ant','maven'];
/**定义了一个list,其默认对应的Java类型是ArrayList**/
buildTools << 'gradle'
/**表示向buildTools中追加元素**/

def buildYears=['ant':2000,'maven':2004];
/**表示定义了一个map,对应Java中的LinkedHashMap**/
buildYears.gradle=2009;
/**表示向map添加了一个key为'gradle'的元素,value为2009**/
println buildYears.ant;
println buildYears['maven'];
/**以上两种形式都能够访问map中的元素**/
6.闭包简洁介绍
/**闭包是一个代码块**/
def c1={
    /**v1表示闭包入参,箭头后表示方法体**/
    v1 ->
    print v1;
}

def c2={
    print 'hello';
}

/**构建以闭包为参数的方法**/
def method1(Closure closure){
    /**该闭包传入'param'参数**/
    closure('param');
}

def method2(Closure closure){
    /**该闭包无参**/
    closure();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值