在 Swift 中,class 是引用类型(指针类型), struct 是值类型
值类型
值类型在传递和赋值时将进行复制; 赋值给var、let或者给函数传参,是直接将所有内容拷贝一份, 类似于对文件进行...)
在 Swift 中,可选型是为了表达一个变量为空的情况,当一个变量为空,他的值就是 nil
在类型名称后面加个问号?...来定义一个可选型
值类型或者引用类型都可以是可选型变量
泛型主要是为增加代码的灵活性而生的,它可以是对应的代码满足任意类型的的变量或方法;
泛型可以将类型参数化,提高代码复用率,减少代码量
它们遵循的基本规则...值类型和引用类型相比,最大优势可以高效的使用内存,值类型在栈上操作,引用类型在堆上操作,栈上操作仅仅是单个指针的移动,而堆上操作牵涉到合并,位移,重链接,Swift 这样设计减少了堆上内存分配和回收次数...,使用 copy-on-write将值传递与复制开销降到最低
如何将Swift 中的协议(protocol)中的部分方法设计为可选(optional)?