2014-01-24 7 views
5

Ich verstehe nicht, wie groovy Typisierung funktioniert. Auf wikipedia steht geschrieben, dass es eine starke Typisierung, aber ich kann das perfekt tun auf dem Dolmetscher:ist groovy schwach typisiert oder stark typisiert?

1 + '1' 
==> 11 

Vielleicht bin ich verwirrt und ich verstand nicht, was schwache Typisierung ist, aber ich möchte zu wissen, was dieses Feature dann ist.

+3

[Das ist, weil "schwach typisierte" nicht definiert ist.] (Http://stackoverflow.com/questions/9929585/seeking-clarification-on-apparent-contrictions-regarding-weakly-typed- Sprache/9929697 # 9929697) – delnan

Antwort

2

Es ist kein Problem mit schwach oder streng typisierten Sprachen. Als Delnan Show gibt es ein mattes Thema, und die Terminologie kann hier anders sein.

Was Sie in Interpreter sehen, ist eine Arbeit von überladenen plus-Operator, mit dem Sie einfach Werte in Zeichenfolgen verketten, sehr nützliche Funktion zum Drucken von einigen Ausgaben oder Protokollierung.

Um genau zu sein, Groovy ist schwach (optional, wie tim vorgeschlagen) eingegeben, können Sie Typen definieren, oder Sie können sie unter Verwendung def Schlüsselwort weglassen. Es ermöglicht Ihnen auch viele implizite Konvertierungen, aufgrund seiner dynamischen Natur. More info about types. Es gibt mehrere Anmerkungen, mit denen Sie dieses Verhalten ändern können, z. B. @CompileStatic or @TypeChecked.

In jeder bestimmten Situation können Sie mit der richtigen Schreibstrategie eine bessere Lösung erhalten. Es ist sehr Groovy;)

+7

Ich bevorzuge 'Optional Type' ;-) –