atitit.groovy 语法特性

1. Groovy 1.6概览1

1.1. 多路赋值2

2. 新发布的Groovy2.0为这门语言带来了关键的静态特性:静态类型检查和静态编译;2

3. 参考3

增强的ast @log  @field

3. 动态类型def6

4. 循环变量不需要def6

5. String 和Gstring6

6. 范围6

7. 默认参数值7

8. 集合简化操作7

9. 闭包(Closure)8

10. Groovy类map构造函数9

11. (5)    不需要return9

12. (6)    不需要()号9

13. ?运算符 避免出现空指针异常,10

14. 动态添加方法metaClass10

15. 正则表达式常量在Java中没有,在Groovy中表示为 /pattern/11

16. 不强制捕获检查异常(checked exception)外 (这跟C#很像,如果我没记错的话 :)         并且在方法声明时,也可以不写throws语句。11

17. .Groovy会自动导入java.lang.*, java.util.*, java.net.*, java.io.*, java.math.BigInteger, java.math.BigDecimal,   groovy.lang.*, groovy.util.*,而Java则只自动导入java.lang.*11

1. Groovy 1.6概览

Groovy 1.6的主要亮点列举如下:

· 编译时与运行时性能的巨大提升

· 多路赋值

· if/else与try/catch块中可选的返回语句

· Java 5注解定义

· AST转换和众多转换注解,比如@Singleton、@Lazy、@Immutable、@Delegate及助手

· Grape模块和依赖系统及其@Grab转换

· Swing builder的若干改进、这要归功于Swing / Griffon团队,同时还有Swing console的几处改进

· 集成了JMX builder

· 各种元编程的改进,像是EMC DSL,针对POJO的基于实例的元类(per-instance metaclasses),以及运行时的掺元(mixin)

· 内置JSR-223脚本引擎

· 开箱即用的OSGi支持

1.1. 多路赋值

Groovy 1.6只增加了一种语法来同时定义多个变量并为其赋值:

def (a, b) = [1, 2]

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

2. 新发布的Groovy2.0为这门语言带来了关键的静态特性:静态类型检查和静态编译;

采用了JDK 7相关的改进:Project Coin语法增强和新支持的“invoke dynamic” JVM指令;

同时,提高了模块化。我们将在这篇文章中了解这些新特性的详情。

3. 参考

Groovy 1_6的新特性.htm

Groovy 1.8 新特性  增强的 AST - 流水不争先 - 博客频道 - CSDN.NET.htm

Groovy 2_0新特性.htm

atitit.groovy 语法特性的更多相关文章

  1. Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结

    Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...

  2. Atitit.jdk java8的语法特性详解 attilax 总结

    Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不 ...

  3. atitit groovy 总结java 提升效率

    atitit groovy 总结java 提升效率 #---环境配置 1 #------安装麻烦的 2 三.创建groovy项目 2 3.  添加 Groovy 类 2 4.  编译运行groovy类 ...

  4. Atitit.数据库新特性战略规划 mssql sql server 2008 SQL2012 SQL2014

    Atitit.数据库新特性 mssql sql server 2008 SQL2012 SQL2014 1. Sql2012 新特性 1 1.1. 增加了Sequence对象. 1 1.2. 新的分页 ...

  5. Atitit eclipse新特性总结3.1---4.4  4.5

    Atititeclipse新特性总结3.1---4.4  4.5 1. Eclipse 4.4 Luna正式发布了.1 1.1. 新版本的Eclipse默认对Java8提供支持1 1.2. 内存分析器 ...

  6. Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27

    Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27 1. 修改历史2 2. 适用语言::几乎所有编程语言.语言提升的三个渠道::语法,类库,框架,ide2 2.1. 单根继承  ...

  7. Gradle系列之一 Groovy语法精讲

    Gradle技术之一 Groovy语法精讲 gradle脚本是基于groovy语言开发的,想要学好gradle必须先要对groovy有一个基本的认识 1. Groovy特点 groovy是一种DSL语 ...

  8. Groovy语法基础

    Groovy 简介 Groovy 是一种基于 JVM 的动态语言,他的语法和 Java 相似,最终也是要编译 .class 在JVM上运行. Groovy 完全兼容 Java 并且在此基础上添加了很多 ...

  9. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

随机推荐

  1. [BZOJ 4033] 树上染色

    Link: BZOJ 4033 传送门 Solution: 此题用到了计算贡献的方法, 将 多条路径的路径和  $->$ $\sum_{i=1}^{n-1} w[i]*cnt[i]$ 这样我们由 ...

  2. UVA GCD - Extreme (II)

    discription Given the value of N, you will have to find the value of G. The definition of G is given ...

  3. 【基数排序】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) C. Jon Snow and his Favourite Number

    发现值域很小,而且怎么异或都不会超过1023……然后可以使用类似基数排序的思想,每次扫一遍就行了. 复杂度O(k*1024). #include<cstdio> #include<c ...

  4. python3开发进阶-Django框架的Form表单系统和基本操作

    阅读目录 什么是Form组件 常用字段和插件 自定义校验的方式 补充进阶 一.什么是Form组件 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标 ...

  5. cojs.tk(所有题目来源) 树状数组专练

    1.求和问题 ★   输入文件:sum.in   输出文件:sum.out   简单对比时间限制:1.2 s   内存限制:128 MB [问题描述]     在一个长度为n的整数数列中取出连续的若干 ...

  6. Java下List使用subList实现分页获取

    java.util.List中有一个subList方法,用来返回一个List的一部分的视图. List<E> subList(int fromIndex, int toIndex); 它返 ...

  7. S3C2440时钟配置

    参考: http://blog.csdn.net/mr_raptor/article/details/6555734 http://blog.csdn.net/mjx91282041/article/ ...

  8. 如何垂直居中元素(浮动元素&居中一个<img>)?

    1.如何居中一个浮动元素? 方法一:已知元素的高度   <!DOCTYPE html> <html lang="en"> <head> < ...

  9. CSS3:固定textarea文本域宽度

    textarea在一些浏览器上可以被拖拉改变大小,为了保持美观,可以通过 CSS3 resize 属性禁掉 textarea{resize:none; //不允许用户调整元素大小}

  10. [Java基础] 使用JMAP dump及分析dump文件

    转载:http://blog.csdn.net/kevin_luan/article/details/8447896 http://liulinxia02.blog.163.com/blog/stat ...