Swift 的特点
- 命名参数
- 类型推断
- 消除头文件,提供命名空间
- 自动管理里内存
- 语句末不需要添加分号
- 闭包和函数指针统一
- Tuples和多个返回值
- 泛型
- 快速精确遍历范围或者集合
- 结构体支持methods, extensions, and protocols
- 函数型的编程模式,比如map和filter
- 使用try/catch/throw的原生的错误捕捉
Swift的设计思路
安全
- 变量必须先初始化再使用
- 数组和整数会自动检查溢出
- 自动管理内存
- swift 普通对象不可能是nil,使用nil对象会产生编译时错误;optional对象可以是nil,通过?语义可以让编译器恰当地处理optional为nil的情形