Swift4.0复习控制流语句
1.do语句块:
Swift编程语言中可使用 do 语句块作为类似C语言中的一般语句块进行使用。与C语言的语句块类似,Swift中的 do 语句块单独作为一个作用域,该语句块中声明的局部对象在其外部将无法被访问。如果在 do 语句块中声明了对象,该对象标识符与其外部已有的对象标识符相同,那么在该语句块内部所访问的标识符都是它内部声明的。也就是说,语句块内声明的对象会将语句块外部的同名对象给覆盖掉。
Swift中如果不用 do 引出,而单单用花括号 { } ,那么它默认表达的是一个闭包表达式,而不是一个语句块。
2.if语句:
3.三目条件操作符:
4.Switch语句:
Swift编程语言中每条 case 下面必须至少要有一条语句。
默认情况下,一条 case 执行完成之后就自动退出整个 switch 语句块了,不需要显式添加 break 语句。如果要直通到下一条 case ,那么需要使用在本章第7节介绍的 fallthrough 语句。
5.case匹配模式:
var a: Int8 = 10
switch a {
case 0, 1, 2:
print("zero")
}
7.case匹配模式用于元组对象:
Swift4.0复习控制流语句的更多相关文章
- Swift4.0复习特性、编译标志和检查API的可用性
1.Swift中的特性: @引出,后面紧跟特性名,圆括号带参数即可. @attribute(args) avaiable: 指明对象,函数,类型的可用性. @available(iOS 10.0, m ...
- Swift4.0复习访问控制与作用域
1.访问等级: open: 可以继承,可以重写. public: “public 访问等级能用于修饰所有文件作用域的函数.对象.协议.枚举.结构体.类以及各种类型中的属性与方法.用 public 所修 ...
- Swift4.0复习错误处理
1.Swift中错误的表示: “在Swift中如果我们要定义一个表示错误的类型非常简单,只需遵循 Error 协议即可.我们通常用枚举或结构体类型来表示错误类型,当然枚举可能用得更多些,因为它能更直观 ...
- Swift4.0复习结构体
1.基本语法: /** 定义了一个结构体 */ struct Structure { /// 一个常量存储式实例属性, /// 并直接为它初始化 let constProperty = /// ...
- Swift4.0复习基本语法简介
1.五种类型: 包含五种类型——枚举(enum).结构体(struct).类(class).协议( protocol)以及函数类型(function types). 2.变量对象:var 3.常量对象 ...
- Swift4.0复习扩展
1.扩展计算式属性: 2.对方法进行扩展: /// 定义枚举类型Light, /// 它指定了基本类型String enum Light: String { case red = "red& ...
- Swift4.0复习类型定义、类型投射等操作
1.类型定义: /// 这里将MyInt定义为Int32类型 typealias MyInt = Int32 /// 这里将MyArrayInt定义为[MyInt]数组类型 typealias M ...
- Swift4.0复习类
1.类的属性: 2.类的方法: 3.类作为引用类型: “Swift新增了一对操作符 === 与 !== 用于判定同一个类的两个对象引用是否指向同一对象实例.” 摘录来自: “大话Swift 4.0”. ...
- Swift4.0复习协议
1.协议的定义: /// 定义一个协议MyProt protocol MyProt { /// 声明了一个实例方法foo, /// 其类型为:() -> Void func foo() ...
随机推荐
- Post Office Problem
Description There are n houses on a line. Given an array A and A[i] represents the position of i-th ...
- (尚015)Vue过滤器(对显示的数据进行格式化)
现在日期为:当前时间-1970年1月1日0时0分0秒的时间差 日期格式化:百度搜索moment 1.test015.html <!DOCTYPE html><html lang=&q ...
- (尚002)Vue的基本使用
输入端在上面变化的同时,下面的内容也在变 View-->DOM监听-->指令;大括号数据 {{username}} Model-->模型(简单来说就是data,数据供view自动去读 ...
- 溢出的文字隐藏(text-overflow)
<body> <div>一定要首先强制一行内显示,再次和overflow搭配使用,三个步骤缺一不可</div> </body> <style> ...
- 洛谷 P1456Monkey King
题目描述 要把打架的两堆猴子合并为一堆,查询的又是最大值,所以很容易想到可并堆. 题目要求打完架后战斗力最大的猴子的战斗力要减半,但不能直接在堆中进行这个操作,因为战斗力减半后这只猴子不一定是战斗力最 ...
- 一个 Object.assign 的误解
mozilla中对 Object.assign 的解释如下地址: mozilla 其中有说到 注意, Object.assign 会跳过那些值为 null 或 undefined 的源对象. 一直以为 ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
- 高可用Redis:Redis Cluster
转(https://www.cnblogs.com/renpingsheng/p/9862485.html) Redis Cluster是Redis官方提供的Redis集群功能 1.为什么要实现Red ...
- YouTube排名第一的励志英文演讲《Dream(梦想)》
I don’t know what that dream is that you have, I don't care how disappointing it might have been as ...
- Linux/Centos下安装部署phantomjs
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, ...