Groovy 3.0:新的默认解析器和Java风格的Lambda语法

Apache Groovy 3.0到货了,它包含了许多新功能,这些功能使其更加灵活并与更新的Java功能集成。 对于初学者来说,它包括一个新的默认解析器(当前在代号Parrot下),并支持Java样式的Lambda语法。

Groovy是Java语法兼容的面向对象语言。 凭借其熟悉的语法并通过在JVM之上工作,可以轻松地与任何Java程序直接集成。 尽管Groovy目前不像使用JVM的年轻语言那样受欢迎,例如Kotlin,但3.0版引入了一些新的变化,可能会改变现状。

那么,是时候在2020年再次淘汰Groovy吗?

还请参见: 与OutOfMemoryError相关的JVM参数

遇见鹦鹉。

v3.0.0的最大亮点是新的解析器Parrot。 在后台,它更加灵活和可维护,并包括对其他语法和语言功能的支持。 Parrot包括当前所有语言功能,但同时也增加了一些新功能。

GitHub上的新解析器的README中 ,这些新功能包括:

  • 做循环 增强的(现在支持逗号)经典for循环,例如for(int i = 0, j = 10; i < j; i++, j--) {..}
  • Lambda表达式,例如stream.map(e -> e + 1)
  • 方法引用和构造函数引用
  • 尝试资源,又名ARM
  • 代码块,即{..}
  • Java样式数组初始化程序,例如new int[] {1, 2, 3}
  • 接口内的默认方法
  • 类型注释的其他位置
  • 新运算符:身份运算符( ===!== ),猫王分配( ?= ),! !in!instanceof
  • 安全索引,例如nullableVar?[1, 2]
  • 非静态内部类实例化,例如outer.new Inner()
  • 运行时groovydoc,即以/**@开头的groovydoc; groovydoc作为元数据附加到AST节点

在3.0中,新的解析器默认情况下处于启用状态,必要时可以通过系统属性禁用。 在将来的Groovy版本中,旧的解析器将被弃用,然后将其删除。

从存储库中,一定要阅读由Apache Groovy PMC成员Daniel Sun撰写的Groovy 3更改的公开讨论

嵌入式Groovydocs

在3.0中,Groovy从Ruby等语言中汲取了灵感。 用户现在可以通过几种不同的方式嵌入Groovydocs。 (经过改进的工具仍在开发中。)

  • 可以在AST中使用Groovydocs并将其存储为节点元数据。 用户可以使用groovy.attach.groovydoc系统属性或CompilerConfiguration的标志启用此功能。
  • 任何以/**@开头注释分隔符开头的Groovydoc注释都可以嵌入到类文件中,并存储在@Groovydoc注释中。 用户可以使用groovy.attach.runtime.groovydoc系统属性或CompilerConfiguration的标志启用此功能。

还请参见: 2020年顶级Java技术– JVM编程语言,IDE,工具等

Groovy 4?

在查看v3.0时,该语言已经领先于自己。 根据v3.0的发行说明 ,“ Groovy 3正在进行更改,以使代码库朝符合规则的方向发展,并允许Groovy用户开始迁移过程。 Groovy 4是我们的目标版本,用于完全兼容的工件,但是您可以在使用Groovy 3的同时提前准备好类

开发团队期望Groovy 4的Alpha版本很快发布。

升级到最新版本

无论您一直在使用Groovy,还是希望查看新功能并查看它与更常用的替代品的比较,请查看3.0版。 作为先决条件,您将需要JDK9 +才能进行构建。

查看下载页面,并遵循几种获取groovin的方法之一。

翻译自: https://jaxenter.com/groovy-3-0-168101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值