Functions
* 可变字符串的 label 是可以在函数声明时,由自己指定的. ==> 可变参数,不需要是最后一组参数
* inout 有点像是指针传值;不同的是,在函数内使用时,不需要处理指针解引用操作...,直接一个普通 var 变量使用即可.
* 参数默认是 let 不可变类型,不允许修改
Closures
* function type 不包含 label 部分 --> 传递function时,其label...Methods
* 结构体实例中,方法是否能够修改属性,也受实例本身的可变性的影响.
* 结构体或枚举等值类型,允许在实例方法内,直接给 self 赋值,完整替换.
* 枚举类型的相关操作,都可以封装在枚举类型自身...Type Casting
* is 近似于 isKind; 精确判断时,可以考虑使用 type(of: T1) == T2.self
* 类型转换用的是 as? 或 as!,用法习惯和 try?...类似.
* 数组具体化类型声明为 Any / AnyObject 时,数组内可同时存放多种类型不兼容的实例.