Swift价值语义学

示例

复制数组将复制原始数组内的所有项目。

更改新阵列不会更改原始阵列。

var originalArray = ["Swift", "is", "great!"]
var newArray = originalArray
newArray[2] = "awesome!"
//originalArray = ["Swift", "is", "great!"]
//newArray = ["Swift", "is", "awesome!"]

复制的阵列将与原始阵列共享相同的内存空间,直到更改为止。结果,当复制的数组在第一次更改时在内存中被分配了自己的空间时,会降低性能。