OC与Swift的区别三(条件语句)
11.swift中的switch结构
区别一:
oc中switch条件只可以放整数
swift中switch条件可以放几乎任何数据类型
区别二:
oc中每一个case中应有break,如果没有break,则会继续向下贯穿执行case直到碰见break跳出switch结构
swift中不需要在case分支最后添加break语句,该case分支执行完成后,会跳出switch结构
区别三:
oc中不是每个case后面必须有可执行语句,如果某个case分支中没有可执行语句和break,则该分支将会执行其下面最近的一个有可执行语句的分支中代码,以此实现多条件匹配
swift中每个case后面必须都有可执行语句,
ps:此区别是因为区别二的存在,swift中表示多条件匹配的情况使用的语法为,case后跟多个条件,用逗号隔开。
此外,swift的case中可以填写一个范围作为匹配条件,如case a...b:
区别三:
oc中switch中default不是必需的
swift中switch中default是必需的
swift中switch语句可以使用where来增加判断条件
如:
var point = (10,-10)
switch point{
case let(x,y) where x == y :
//
case let(x,y) where x == -y :
//
default :
//
}
swift中switch语句可以使用fallthrough关键字来执行贯穿操作,即执行完当前case后,会接着执行fallthrough后面的case活着default语句,类似于oc中case没有写break语句,但是使用了fallthrough,其后面的case条件中将不能定义常量或变量,即fallthrough后面的case条件不能使用类似上面代码中let (x,y) 这样的变量来接收point,否则会有语法错误。
OC与Swift的区别三(条件语句)的更多相关文章
- OC与Swift的区别四(条件语句)
12.条件语句的区别,此处只写区别,没有指出区别的其他方面oc与swift基本一致 12.1 oc中for if switch语句体如果只有一行代码,则{}可以省略 swift中for if swit ...
- OC与Swift的区别五(函数)
13 函数 oc函数定义: 返回值类型 函数名(参数类型 参数名,参数类型 参数名){ } swift 函数定义: func 函数名(参数名:参数类型,参数名:参数类型) -> 返回值类型{ } ...
- OC与Swift的区别二(常量、变量、运算符)
4.常量与变量声明 oc的变量声明使用 类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符 swift变量声明使用 var 变量名 = ...
- OC与Swift的区别一(文件结构)
1.文件后缀名 oc的文件后缀名为:头文件.h 主体文件.m swift文件后缀名为:.swift 2. 代码分隔符 oc中使用分号;作为代码分隔符 swift中无需使用代码分隔符,以行作为代码分隔 ...
- swift 有道 翻译文档(2 条件语句 循环语句)
控制流使用if和switch来创建条件语句,使用for-in.while和repeat-while来创建循环.条件或循环变量的括号是可选的.身体周围需要支撑. let individualScores ...
- Swift 条件语句
条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句. 可以通过下图来简单了解条件语句的执行过程: Swift 提供了以下几种类型的条件语 ...
- OC与Swift混编,三种场景的实现方式
多语言并存时期,混编成为一种必须的方式 ,在多场影中实现OC和Swift语言的并存原来是如此简单 第一种场景,App中实现混编 创建桥接文件*.h 新建一个桥接文件,New File 选择 Heade ...
- python学习笔记(三)--条件语句
Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条 ...
- java【第三课 条件语句】
一.java条件语句 import java.util.Scanner; //导入扫描仪 public class demo{ public static void main(String[] arg ...
随机推荐
- kernel网址
http://www.kernel.org HTTP https://www.kernel.org/pub/ FTP ftp://ftp.kernel.org/pub/ http://www.oldl ...
- HW5.13
public class Solution { public static void main(String[] args) { System.out.printf("%s\t%s\n&qu ...
- [三]ajax重要属性
readState:0初始化,1建立,2已接收,3处理中,4请求完成,响应就绪 status:200成功,404未找到页面失败 onreadystatechange:状态改变自动调用的方法 respo ...
- codeforces 721C (拓扑+dp)
题意就是某个人去游览,起点是1点,终点是n点,他总的游览时间不能超过t,第一行给你3个数字,点的个数n,边的个数m,时间t,然后底下m行数据,每行代表一条边,边的起点,终点和权值(走过去花的时间),然 ...
- linux命令之cat
转自:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容, ...
- JBPM数据库表说明
http://blog.163.com/tigerlion@126/blog/static/167675665201072642627400/ 最近这几天一直在研究JBPM工作流引擎,以下为JBMP的 ...
- Ubuntu 12.04 安装搜狗输入法
安装指南 Ubuntu / Ubuntu Kylin 14.04 LTS 版本 只需双击下载的 deb 软件包,即可直接安装搜狗输入法. Ubuntu 12.04 LTS 版本 由于 Ubuntu 1 ...
- SQL中使用WITH AS提高性能
本文内容一部分来自:http://wudataoge.blog.163.com/blog/static/80073886200961652022389/ 一.WITH AS的含义 WITH A ...
- .pfx格式和.Cer格式的区别
ize:12px">作为文件形式存在的证书一般有这几种格式: 1.带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义, ...
- android92 aidl远程进程通信
05项目RemoteService.java package com.itheima.remoteservice; //05项目 import com.itheima.remoteservice.Pu ...