Functions
* 可变字符串的 label 是可以在函数声明时,由自己指定的. ==> 可变参数,不需要是最后一组参数
* inout 有点像是指针传值;不同的是,在函数内使用时,不需要处理指针解引用操作...在调用 super.init 之前,不能调用任何实例方法,因为对象还没有效初始化.
* 用 closure 指定默认值和属性的get/set 方法的区别在于 声明有个等号(=),说明前者是个赋值操作....Error Handling
* 函数A中,可以 try 函数B,如果函数B抛出错误,则会直接抛给 A 的调用者.
* do-catch 中的catch 部分 和 switch-case 中的case部分...Protocols
* 在swift 的设定中, protocol 也属于 type,可以用于任何 type 适用的场景.
* 在类型声明遵循某协议以外的位置,书写符合协议的方法是,用 & 连接多个协议...* 类型方法调用,不允许使用自身作为 inout 参数传递给自己的某个方法.