2015-08-08 47 views
3

我知道i++++i之間的區別Swift。正如文件所述,最好使用++i來增加i爲什麼我不能在i ++中使用Swift中的for循環

但我不知道爲什麼我得到一個語法錯誤使用i++ for循環。 的代碼看起來是這樣的:

for var i = 0; i < 10; i++{ 
    println("hello") 
} 

然而,這是確定在其他情況下爲使用i++++i。 for循環中有任何限制嗎?

回答

7

錯誤說:

運營商不是一個已知的二元運算

的原因很簡單:你需要添加的運營商和大括號之間的空白:

i++ { 
^

而不是,編譯器會++{作爲二進制運算符,用iprint("hello")作爲它的參數

由於i變量明確區分了運算符和大括號(字母和數字不能用於定義運算符),因此增量運算符的前綴版本不會發生此問題。

+0

現在,它的工作。謝謝 –

+0

@xingyuzhang很高興知道:)請記住標記答案爲解決方案,如果它實際上解決了問題 – Antonio

+0

作爲一般規則,Swift要求C語言(C,C++,Objective-C)不需要的運算符周圍有空格。這也讓我有時候也會出錯,而且你從Swift得到的神祕錯誤信息更加難以確定什麼是錯誤的。我希望隨着編譯器的發展,這些錯誤會變得更清晰,更有幫助。 –

相關問題