比 js 的 || 好使多了,因为前者能准确区分零值和nil值.只有nil值时,才需要使用默认值.
* names[0.. 本质上,应该是 array 的[]操作符...充当一个查询子句的角色
* \#available的确可以让API可用性检查,更方便....Methods
* 结构体实例中,方法是否能够修改属性,也受实例本身的可变性的影响.
* 结构体或枚举等值类型,允许在实例方法内,直接给 self 赋值,完整替换.
* 枚举类型的相关操作,都可以封装在枚举类型自身...-->可以用 extension-where来指定,仅在特定条件下,才有效的protocal自有协议方法....> 或 where 子句 指定占位类型本身需要满足的类型或协议约束. --> 借助 associatedtype 关键字, protocol 也可以支持泛型.
* AnyObject 本身不能直接在类型定义时