美文网首页
iOS-Swift-流程控制

iOS-Swift-流程控制

作者: Imkata | 来源:发表于2020-01-02 14:55 被阅读0次

一. if

if后面的条件可以省略小括号,条件后面的大括号不可以省略。

可以省略小括号

if后面的条件只能是Bool类型。

只能是Bool类型

二. while

while repeat-while

repeat-while相当于C语言中的do-while。
这里不用num--,是因为从Swift3开始,去除了自增(++)、自减(--)运算符。苹果感觉⾃增、自减运算符不好,所以现在我们使⽤num+= 1,或者 num-= 1。

++是⾃增运算符,粗略的看 i++和 i= i+1是⼀个意思,但区别在于 i++ 是先使⽤i的值 然后再使 i+1 ⽽ i = i+1 只是简单的给 i 加1,⽐如 i = 2 ;j = i ++ 执⾏过后 j = 2,i 再加1,最后 i= 3 。
i= i+1 和 i +=1 是⼀样的,完全相同。

三. for

在OC中我们使用三段式for循环,在Swift中for循环我们使用区间运算符。

1. 区间

  • 闭区间运算符:a...b, a <= 取值 <= b
闭区间运算符
  • 半开区间运算符:a..<b, a <= 取值 < b
半开区间运算符
  • 单侧区间:让区间朝一个方向尽可能的远
单侧区间
  • 区间运算符用在数组上
数组

2. 区间类型

区间类型

字符、字符串也能使用区间运算符,但默认不能用在for-in中,如下:

字符串使用区间

3. 带间隔的区间值

带间隔的区间值

四. switch

switch

case,default后面不能写大括号(OC中是可写可不写)。
默认可以不写break,不会贯穿到后面的条件。

使用fallthrough可以实现贯穿效果,如下:

fallthrough
  • switch注意点

switch必须要保证能处理所有情况:

要处理所有情况

case、default后面至少要有一条语句,如果不想做任何事,加个break即可。

break

如果能保证已处理所有情况,也可以不必使用default:

保证处理所有情况
  • 复合条件

switch也支持Character、String类型

Character、String

如上,使用fallthrough可以达到复合条件的效果,另外条件之间使用逗号分隔也可以实现复合条件。

  • 区间匹配、元组匹配
区间匹配、元组匹配

可以使用下划线 _ 忽略某个值。

关于case匹配问题,属于模式匹配(Pattern Matching)的范畴,以后会再次详细展开讲解(重载~=运算符,来⾃定义匹配规则)。

  • 值绑定
值绑定

必要时let也可以改为var。

  • where

where不但可以用在switch中,也可以用在for循环中。

where
  • 给循环添加标签
给循环添加标签

在内循环内部使用外循环标签,可以达到内循环控制外循环的目的。

相关文章

  • iOS-Swift-流程控制

    一. if if后面的条件可以省略小括号,条件后面的大括号不可以省略。 if后面的条件只能是Bool类型。 二. ...

  • iOS-Swift-访问控制

    1. 访问控制(Access Control) 在访问权限控制这块,Swift提供了5个不同的访问级别(以下是从高...

  • 5-流程控制

    流程控制 流程 计算机执行代码的顺序就是流程 流程控制 对计算机代码执行顺序的管理就是流程控制 流程分类 流程控制...

  • 04-流程控制及while循环

    流程控制 流程: 计算机执行代码的顺序,就是流程。 流程控制: 对计算机代码执行顺序的控制,就是流程控制。 流程分...

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • js流程控制

    2 - 流程控制 2.1 流程控制概念 2.2 顺序流程控制 ​ 顺序结构是程序中最简单、最基本的流程控制,它...

  • 二级-2.Python流程控制

    流程控制 流程:计算机执行代码的顺序就是流程。 流程控制:对计算机代码执行顺序的管理就是流程控制。 流程控制一共分...

  • Python基础重构-1.3流程控制

    流程控制语句 流程控制语句用来实现对程序流程的选择、循环和返回等进行控制,Python中主要的流程控制包括if(判...

  • activiti学习笔记(九)RuntimeService

    RuntimeService 流程运行控制服务 启动流程及对流程数据的控制 流程实例(ProcessInstanc...

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

网友评论

      本文标题:iOS-Swift-流程控制

      本文链接:https://www.haomeiwen.com/subject/ejonoctx.html