为什么我不能在 Swift 的 for 循环中使用 i++
Why can't I use i++ in for loop in Swift
我知道Swift中i++
和++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++ {
^
否则,编译器会将 ++{
作为二元运算符,将 i
和 print("hello")
作为其参数
递增运算符的前缀版本不会发生此问题,因为 i
变量明确区分了 ++
运算符和花括号(不能使用字母和数字定义运算符)。
我知道Swift中i++
和++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++ {
^
否则,编译器会将 ++{
作为二元运算符,将 i
和 print("hello")
作为其参数
递增运算符的前缀版本不会发生此问题,因为 i
变量明确区分了 ++
运算符和花括号(不能使用字母和数字定义运算符)。