我记得从我的 Perl 时代起“使用严格 http://perldoc.perl.org/strict.html" 导致运行时执行额外验证的语句。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)
}
Run groovy
or groovyc
与-configscript
命令行选项:
groovyc -configscript config.groovy MyClass.groovy
Groovy 手册中有更多信息:
- http://groovy-lang.org/semantics.html#static-type-checking http://groovy-lang.org/semantics.html#static-type-checking
- http://groovy-lang.org/semantics.html#_static_compilation http://groovy-lang.org/semantics.html#_static_compilation
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)