Zig*_*ong 46
从Swift 2.2开始,你应该使用+= 1或-= 1代替.
在查看Swift的演变之后,有一些原因可以删除这些运算符:
这些运算符增加了将Swift作为第一种编程语言学习的负担 - 或者您不熟悉其他语言的这些运算符的任何其他情况.
它们的表现优势很小 - x ++并不比x + = 1短.
Swift已经偏离C,因为=,+ =和其他类似赋值的操作返回Void(由于多种原因).这些运算符与该模型不一致.
Swift具有强大的功能,消除了在其他语言的C风格循环中使用++ i的许多常见原因,因此这些在编写良好的Swift代码中相对较少使用.这些功能包括for-in循环,范围,枚举,地图等.
实际使用这些运算符的结果值的代码通常会让代码的读者/维护者感到困惑和微妙.他们鼓励"过于棘手"的代码,这些代码可能很可爱,但很难理解.
虽然Swift具有良好定义的评估顺序,但任何依赖于它的代码(如foo(++ a,a ++))都是不可取的,即使它是明确定义的.
这些运算符适用于相对较少的类型:整数和浮点标量,以及类似迭代器的概念.它们不适用于复数,矩阵等.
最后,这些失败的指标"如果我们还没有这些,我们会将它们添加到Swift 3吗?"
有关更多信息,请查看Swift evolution.
| 归档时间: |
|
| 查看次数: |
12440 次 |
| 最近记录: |