创造者:克里斯·拉特纳(Chris Lattner ,70后程序员,LLVM 主要发起人与作者之一、Clang 编译器的作者)
Swift中文名:雨燕
开始开发时间:2010年7月
Swift 推出时间:WWDC2014(2014.06.03)
特色:
闭包
泛型
元组 和 多个返回值
命名空间
类型推断 类型安全
内存自动管理
去头文件引入
去main()
分号
全面的Unicode支持
与 Objective-C 进行混合编程,但代码分属不同的文件
介绍:
Swift 是面向 Cocoa 和 Cocoa Touch 的编程语言,编译型语言,生产环境的代码都需要 LLVM 编译成本地代码才能执行,但是Swift又具备很多动态语言的语法特性和交互方式。
Swift是本地代码(native code)语言,将被编译成被CPU直接执行的机械码,不像JavaScript、Python等脚本语言解释执行,也不像Java、C#编译成中间代码并需要虚拟机来执行,所以Swift的效率可以得到保证
Swift是一种类型安全的语言。类型安全就是说在编程的时候需要弄清楚变量的类型。因为Swift是类型安全的,它会在编译的时候就检查你的代码,任何类型不匹配时都会报错。如果不指定你需要的类型,Swift使用类型推导来指定出相应的类型。类型推导使编译器在编译的时候通过你提供的初始化值自动推导出特定的表达式的类型。
Swift 没有提供显式的指针,参数传递根据数据类型的不同分为值类型和引用类型,值传递进行内存拷贝,引用传递最终传递的是一个指向原有对象的指针。这一点和 Java 的参数传递是类似的。需要注意的一点是,Swift 里的数组和字典虽然都是结构体(struct),但在参数传递过程中处理方式却不一样,默认 Array 是引用传递,Dictionary 是值传递。而在 Java 中,由于数组和 Map 都是对象,所以传递的都是指针
Swift 没有从语言层面支持异步和多核,不过可以直接在 Swift 中复用 GCD 的 API 实现异步功能。另外没看到 Swift 的异常处理机制,可能有了可选变量,异常的使用会非常少吧。