ken*_*ong 7 swift swift3
在斯威夫特3文档指出参数是不可改变的:
默认情况下,函数参数是常量.
它还声明在传递给函数时会复制值类型:
字符串,数组和字典在传递给函数或方法时会被复制.
那么,为什么参数都是不可变的和复制的?如果参数是常量,那么我们不需要在函数范围内复制其值.如果复制了参数,则无法在函数中修改传入的原始变量(对于值类型).
此外,不变性似乎不方便,因为我们不能在没有首先将其(再次)显式复制到局部变量的情况下对参数进行局部更改.
我是否错误地阅读了文档?有这么好的理由吗?
gan*_*ogo 6
这里描述的动机如下:https://github.com/apple/swift-evolution/blob/master/proposals/0003-remove-var-parameters.md
tl; dr:它避免与inout关键字混淆.
inout
归档时间:
9 年,3 月 前
查看次数:
1235 次
最近记录: