二者是兼容的.
* closure 可以省略参数类型,是因为类型推导机制的存在 --> 尾闭包,可以省略 ();
* 用作函数参数的闭包,如果想在函数外使用,需要额外加 @escaping 标记 ;@autoclosure...会自动补全用作函数参数的闭包的{}符号 --> @autoclosure 标记的闭包,是有可能和其他一般参数标记的参数,函数签名重复的....Enumerations
* 递归定义的枚举,就是一个演示函数式编程的绝佳示例.
* swift 中的枚举,变成了一中,可以有效承载数据和算法的描述性数据结构.
* swift 中的 enumeration...Methods
* 结构体实例中,方法是否能够修改属性,也受实例本身的可变性的影响.
* 结构体或枚举等值类型,允许在实例方法内,直接给 self 赋值,完整替换.
* 枚举类型的相关操作,都可以封装在枚举类型自身...前者不会自动置为 nil.
* closure 是引用类型 -> closure 内引用实例属性,必须加 self前缀 -> closure 的参数声明前,可以加一个 capture list,如 [unowned