Swift 3中移除了函数参数中的var关键字,swift proposals SE-0003中的观点是var标记的参数只是本地复本会变化,不会回传给原始值,因此调用者并不会知道参数值的改变,实际上没有太大的实用性。

移除var主要有几个原因:

  1. var容易与inout混淆;
  2. var经常被混淆,以使值类型具有引用语义;
  3. 函数参数通常是不可重用的

参考

  1. Removing var from Function Parameters