简介
swift5的ABI已经基本稳定,说明以后的语法不会再有大的变化。
swift的编译器前端是swiftc,OC的编译器前端是Clang。编译器后端是LLVM。
编译器前端词法分析,生成语法树等。编译器后端生成对应平台的机器码。
简单语法
swift不用编写main函数,Swift将全局范围内的首句可执行代码作为程序入口
一句代码尾部可以省略分号(😉,多句代码写到同一行时必须用分号(;)隔开
用var定义变量,let定义常量,编译器能自动推断出变量\常量的类型
字符串格式化输出(变量或常量)
定义变量和常量
//定义变量
var a = 10
//定义常量
let PI = 3.14
//字符串格式化输出
print("a = \(a)")
定义数组
let array = [1,2,3]
定义字典
let dict = ["age":18]
类型转换
强制转换为Int,其他类型类似
let PiInt = Int(3.14)
Swift特有的类型,元组Tuple:方便我们打包多个类型
元组的初始化和下标访问
let http404Error(404,'Not Found")
print("The status code is \ (http404Error.0)")
#### 元组的赋值和标识符访问
let (statusCode, statusMessage) = http404Error
print( "The status code is \(statusCode)")
元组的元素的忽略
let (justTheStatusCode,_) = http404Error
元组的元素的标识符初始化
let http200Status = (statusCode: 200, description: "OK")
print("The status code is \(http200Status.statusCode)")