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

最新文章

  1. 移动端上传图片iphone图片旋转以及服务端处理方法
  2. sql server 条件 not in (null)总是false
  3. [转]Snappy压缩库安装和使用之一
  4. 通过扩展让ASP.NET Web API支持W3C的CORS规范(转载)
  5. WebAPI用法
  6. Yii 1.11 获取当前的模块名 控制器名 方法名
  7. 编译安装-Percona 5.6
  8. Dell服务器MegaCli命令只返回Exit Code: 0x00问题分析
  9. XCode7打包上传报错
  10. UVa 11488 - Hyper Prefix Sets
  11. HDU 1551 Cable master
  12. find your present (2) 2095
  13. UltraISO PE(软碟通) V9.5.5.2960 官方中文版
  14. JProfiler简明使用教程
  15. System.out.println()
  16. javascript入门篇(一)
  17. ionic3 Modal组件
  18. vi/vim tab键空格数修改
  19. 【学习总结】GirlsInAI ML-diary day-4:变量/Variable
  20. Flutter的输入框TextField

热门文章

  1. Xamarin XAML语言教程控件模板的模板绑定
  2. 微信小程序开发教程(三)项目目录及文件构成
  3. 13test04:捕鱼
  4. Mac sublime 编译Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-8: ordinal not in range(128)
  5. node.js学习一——什么是node.js
  6. HTML-DEV-ToolLink(常用的在线字符串编解码、代码压缩、美化、JSON格式化、正则表达式、时间转换工具、二维码生成与解码等工具,支持在线搜索和Chrome插件。)
  7. Javascript常见设计模式解析
  8. centos7使用samba共享文件
  9. UI 层级问题
  10. [Python爬虫] 之二十二:Selenium +phantomjs 利用 pyquery抓取界面网站数据