在Groovy中显式键入:有时还是从不?
[稍后:仍然无法确定Groovy是否具有静态类型(似乎没有),或者使用显式类型生成的字节码是否不同(似乎是)。无论如何,关于这个问题]
Groovy和其他动态语言(或者至少是Ruby)之间的主要区别之一是,您可以在需要时静态显式键入变量。
也就是说,什么时候应该在Groovy中使用静态类型?以下是我能想到的一些可能的答案:
- 仅当出现性能问题时。静态类型变量在Groovy中更快。(或者他们是?关于这个链接的一些问题)
- 在类的公共接口(方法,字段)上,因此您可以自动完成。这是可能的/真实的/完全错误的吗?
- 永远不会,它只是混乱的代码并破坏了使用Groovy的目的。
- 是,当您的类将被继承或使用时
我不仅对你所做的事情感兴趣,更重要的是你对用Groovy编码的项目所看到的感兴趣。规范是什么?
注意:如果这个问题在某种程度上是错误的,或者错过了某些类别的静态动态,请告诉我,我会解决它。