Collection Types
* collection type 是struct,是复制传值,即使只是 a = b
* 操作符重载之后,可以支持数组相加(+)等操作,可以显著代码的可读性和简洁性
*...Functions
* 可变字符串的 label 是可以在函数声明时,由自己指定的. ==> 可变参数,不需要是最后一组参数
* inout 有点像是指针传值;不同的是,在函数内使用时,不需要处理指针解引用操作...的作用是是将函数返回值转换为 optional 对象. try? 的返回值,有可能是多层 optional,层数等于原函数返回值的 optional wrap 层数 + 1.try!...Automatic Reference Counting
* optional 变量,也是强引用 -> 可以继续使用 weak 关键字声明弱引用属性或变量 -> unowned 与 weak 的区别是,...* 类型方法调用,不允许使用自身作为 inout 参数传递给自己的某个方法.