Groovy有“使用严格”吗?

我记得从我的Perl日起,“ use strict”语句导致运行时进行额外的验证. Groovy有相当的吗?

我不喜欢在运行时被编译时可以检测到的东西,比如将一些参数传递给构造函数.

解决方法

Groovy 2.0现在有可选的静态类型检查.如果您在类或方法上放置一个@ groovy.transform.TypeChecked注释,则groovy将使用严格的类Java静态类型规则.

另外,另外还有一个注释@ groovy.transform.CompileStatic是类似的,除了它进一步,实际上编译没有动态打字.为这些类或方法生成的字节码将与直接Java非常相似.

这些注释可以应用于单个类或方法

import groovy.transform.TypeChecked

 @TypeChecked
 class MyClass {
      ...
 }

您还可以将它们全局应用于整个项目,而无需使用编译器配置脚本向源文件添加注释.配置脚本应该是这样的:

withConfig(configuration)  {
    ast(groovy.transform.TypeChecked)
}

使用-configscript命令行选项运行groovy或groovyc:

groovyc -configscript config.groovy MyClass.groovy

Groovy手册中有更多的信息:

> http://groovy-lang.org/semantics.html#static-type-checking
> http://groovy-lang.org/semantics.html#_static_compilation

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...