值类型
值类型赋值给var、let 或者函数传参,是直接将所有内容拷贝一份
类似于对文件进行copy、paste操作,产生了全新的文件副本,属于深拷贝(deep copy)
在Swift标准库中,为了提升性能,String、Array 、Dictionary 、Set采取了Copy On Write的技术
比如仅当有『写』操作时,才会真正执行拷贝操作。
对于标准库值类型的赋值操作,Swift能确保最佳性能,所有没必要为了保证最佳性能来避免赋值
建议:不需要修改的,尽量定义成let
引用类型
引用类型赋值给var、let 或者给函数传参,是将内存地址拷贝一份
类似于制作一个文件的替身(快捷方式、链接),指向的是同一个文件。属于浅拷贝(shallow copy)