1. LLVM框架系统:
1) 是一套构架编译器的框架系统,提供编译、连接、运行期间的优化处理,直接生成本地汇编代码,支持各种语言(包括GCC和所有苹果的开发语言);
2) 它是一种底层支持软件,可以算得上是系统软件,Swift编译时底层需要通过LLVM来生成本地代码;
2. Swift语言的一些基本特性:
1) 博采众长,吸取了Python、Ruby、OC等各种语言的优点,可以算得上是一门综合性的语言;
2) 和C++一样是面向对象的编译型语言,由于是编译生成本地代码再执行的,因此速度很快,效率很高,比OC的效率高很多;
3) 简单灵活,扩展性能好,语法特别简洁,同时支持在类体外为类添加成员或函数;
4) 和OC享有同样的Cocoa类库;
5) 强类型:由于支持面向对象所以是类型安全的,可在编译时检查类型异常;
6) 具有动态特性,比如定义变量的时候可以不用声明类型,可以直接通过赋值的内容判断变量类型,但是一旦初始化后类型就确定了不可再修改;
7) 支持一些高级特性,比如函数闭包、泛型、多值返回(利用元组来实现)等;
8) 支持和OC混编(但是代码必须得分文件编写,即不是强耦合的);
9) 全面支持Unicode,标示符可以是中文、表情符号等;
10) ;称为可选符号,一般在同一行中存在多条语句时作为分隔符出现,换行即表示一条语句的结束
11) 将繁杂众多的集合数据类包装在两个类型中,Array具有List等所有线性边的功能,Dictionary包含Map等功能,使用更简便和容易;
12) 利用可选变量来解决大规模进行异常处理的问题:Optional可选变量主要应对一个变量可能存在也可能为nil空的情形,通常在很多函数执行的时候可能会发生异常,一般情况下是通过抛出异常给上级函数来处理的方式来解决异常,但是这回大大增加代码的效率和冗余度&