2014-01-24 60 views
5

我不明白groovy打字是如何工作的。在wikipedia它是寫,它具有很強的類型,但我能做到完美,關於解釋:是groovy弱類型或強類型?

1 + '1' 
==> 11 

所以也許我很困惑,我不明白弱類型是什麼,但我想知道這個功能是什麼。

+3

[那是因爲「弱類型」是不明確的。](http://stackoverflow.com/questions/9929585/seeking-澄清 - 表 - language/9929697#9929697) – delnan

回答

2

這不是弱或嚴格類型語言的問題。如delnan所示,這裏有一個疲憊的光滑主題,這裏的術語可能會有所不同。

你在解釋器中看到什麼,是一個重載加運算符的工作,它允許你輕鬆地將值連接成字符串,非常有用的功能可以打印某些輸出或日誌記錄。

具體而言,Groovy輸入較弱(可以按照tim的建議),您可以使用def關鍵字來定義類型,或者可以省略它們。它還允許您執行大量隱式轉換,因爲它具有動態性質。 More info about types.有幾個註釋,允許您更改該行爲,如@CompileStatic or @TypeChecked

在每種特定情況下,您都可以使用正確的打字策略獲得更好的解決方案。這是非常Groovy;)

+7

我更喜歡'Optional Typed' ;-) –