2015-08-08 17 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得到的神秘错误信息更加难以确定什么是错误的。我希望随着编译器的发展,这些错误会变得更清晰,更有帮助。 –

相关问题