是时髦的弱类型还是强类型?

Per*_*ror 5 groovy typing

我不明白groovy打字是如何工作的.在维基百科上写的是它有一个强大的输入,但我可以在解释器上完美地做到这一点:

1 + '1'
==> 11
Run Code Online (Sandbox Code Playgroud)

所以也许我很困惑,我不明白什么是弱打字,但我想知道这个功能是什么.

Sea*_*ull 4

这不是弱类型或严格类型语言的问题。正如德尔南所展示的那样,有一个令人厌倦的圆滑主题,这里的术语可能有所不同。

您在解释器中看到的是重载的加号运算符的工作,它允许您轻松地将值连接到字符串中,这对于打印某些输出或记录非常有用的功能。

具体来说,Groovy 是弱类型的(可选,如 Tim 建议的那样),您可以使用def关键字定义类型,也可以省略它们。由于其动态特性,它还允许您进行大量隐式转换。有关类型的更多信息。有几个注释允许您更改该行为,例如@CompileStatic 或 @TypeChecked

在每种特定情况下,您都可以使用正确的打字策略获得更好的解决方案。这非常 Groovy ;)

  • 我更喜欢“可选类型”;-) (7认同)