编程
关键字: 编程
- 做什么? 提出问题
- 如何做? 写程序 让计算机完成
- 现实的问题 进行抽象 让人理解 找到解决方法 然后 写成计算机理解方式 让计算机来解决
- 计算机理解的方式 就是 计算方式(过程 步骤)
- 表达这种计算方式 就是 编程语言
- 写程序的方法 就是 语法 : 代表什么 如何组合
- 语法
- 语句 分割符 关键字
- 注释 :给我们自己看的 辅助我们和他人理解程序
- 把 解决方法 抽象 为计算(函数): 输入 计算 输出
- 程序 = 数据 + 算法 = 数据和结构 + 算法
- 数据的表示 结构 组合 的表示
- 算法的表示
- 输出 :像素的组合 形成 字符(文字,数字) 图形 图像 动画
- 把结果 转换为 人类理解的方式
- 本质 0和1 表示 即二进制
- 机器语言 - 汇编语言 - 高级语言(Lisp,C,Swift)
Swift
关键字: 语法 程序
- 语法 :表示的方式 贯穿整个语言
- 注释
- 语句 关键字 保留字 分割符
- 分号 括号
- 块 区域 :作用域
- 字面量
- 数值 :不同进制的表示
- 字符串 空字符串 多行字符串 特殊字符(转义) Unicode 标量格式 扩展字符串分隔符
- 类型安全 : 类型标注 类型推断
- 类型别名
- 操作符 运算符
- 算术 赋值 逻辑 比较 条件(三元条件) 区间 溢出 合并空值(??)
- 术语 :一元、二元、三元 前缀 中缀 后缀
- 语法糖
- 特性 :模式匹配 计算属性 观察属性
- 可选 :??
- 可选项绑定 : If 语句的强制展开
- 隐式展开
- 程序
- 数据 :对象 (数字 文字 逻辑 其他 ?)
- 基本
- 数 : 整数 浮点数
- 大小范围
- 十进制 : 3
- 二进制 (0b) : 0b101
- 八进制 (0o) : 0o21
- 十六进制 (0x) : 0xfa1
- 有符号 : Int
- 无符号 : UInt
- 位数 : 8 16 32 64
整数
关键字: 整数
- 字面量
- 示例:
- 类型
- 说明: 位数 等同 平台本地字长
- 示例:
let signedInt8:Int8 = 127 let unsignedInt32:UInt32 = 32
- 逻辑 : 真 假
- Bool : ture false
- 字符 字符串
- 编码 : Unicode
- 有无 :可选 空
- nil ? !
- 常量和变量
- 类型
- 类型转换
- 数据结构 组合 :元组 数组 字典 枚举 结构 类
- 对象间的关系 : 继承 协议 泛型
- 改变 :扩展 观察 通知 介入
- 比较
- 作用域 生命周期
- 值类型 引用类型
- 计算 算法
- 步骤 :顺序执行 行 块
- 过程 :函数 运算符(语法糖)
- 分支 :二分 多分
- 选择分支 通过 条件判断
- 重复 :循环 迭代 递归
- 并发
- 特定对象的计算
- 输出 打印
- 错误处理 调试
- ? 为什么程序会出错
- 运行期 :捕捉 抛出 传递
- 调试 :断言 先决条件
- 库
- 工具