我记得从我的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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。