为什么我不能在 Swift 的 for 循环中使用 i++

Why can't I use i++ in for loop in Swift

我知道Swifti++++i的区别。正如官方文档所说,最好使用++i来增加i

但我想知道为什么我在 for 循环 中使用 i++ 时会出现 语法错误 。 代码如下所示:

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

但是,在其他情况下使用 i++++i 都可以。 for循环有什么限制吗?

错误说:

Operator is not a known binary operator

原因很简单:需要在运算符和左花括号之间加一个空格:

i++ { 
   ^

否则,编译器会将 ++{ 作为二元运算符,将 iprint("hello") 作为其参数

递增运算符的前缀版本不会发生此问题,因为 i 变量明确区分了 ++ 运算符和花括号(不能使用字母和数字定义运算符)。