我是一名iOS初学者,根据Swift官方文档以及MJ大神Swift5.0视频教学来学习,记录学习笔记,有那里写的不明白或者写错的还请大神们帮忙解释并指正,小白一定及时改正更新!
Swift是一门什么样的语言?
Swift是一种集结了苹果的文化精髓以及开源社区多样化于一身的编程语言。完全开源,主要采用C++编写,一门用于开发iOS、OS X、watch OS应用的编程语言。
Swift语言相对于OC有什么不同呢?
Swift通过向其他现代编程模式学习,定义了大量的类来避免常见的编程错误:
- 常量只能赋值1次,不要求在编译时期确定,但是在使用之前必须赋值
- 常量/变量不初始化是不能使用的;
- 数组索引会检查越界错误;
- 整数会检查溢出;
- 可选项保证nil值会显示输出,类似于OC中的nil指针,但是不只是类,可选项可以用在所有的类型上。比nil更安全,因此是一门类型安全的语言;
- 内存自动管理;
- 错误处理允许从错误中恢复控制;
Swift编译流程
编译器:分为前端(词法分析)和后端(生成对应平台的二进制)
Swift Code—>Swift语法树(AST)—>两种特有中间代码(Swift IL)—>后端:(LLVM的中间代码LLVM IR)—>汇编代码—>二进制代码(exe)
Swift存放处及常用命令
swiftc -help 命令
cd到Swift工程目录下
Swift特点
- 不用编写main函数,Swift将全局范围内的首行作为程序入口(有main函数,转为汇编语言可以证明,底层已经写好)
- 代码尾部可以省略(;) 多句代码同一行时必须用(;)分开
- var/let分别定义变量/常量 编译器自动推断出变量/常量的类型
- playground快速预览代码效果(学习语法非常有用 )
playground学习
-
使用playground运行快捷键
-
支持多page
-
playgound注释
playgound的注释支持markup语法(类似markdown语法),且只在playground中有效
如何开启markup渲染效果?Editor—>Show Rendered Markup
Swift学习日记1.0