- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Swift流程控制之循环语句和判断语句详解
Swift提供了所有c类语言的控制流结构。包括for和while循环来执行一个任务多次;if和switch语句来执行确定的条件下不同的分支的代码;break和continue关键字能将运行流程转到你代码的另一个点上。
除了C语言传统的for-condition-increment循环,Swift加入了for-in循环,能更加容易的遍历arrays, dictionaries, ranges, strings等其他序列类型。
Swift的switch语句也比C语言的要强大很多。 Swift中switch语句的case语句不会“掉入”下一个case,避免了c语言忘记写break语句产生的错误。 case可以匹配许多不同的模式,包括范围匹配,元组匹配或者抛给指定的类型。匹配值在一个case条件下可以绑定到临时常量或变量,可以在case的代码块中使用,复杂匹配条件下可以表示为每一个case的条件
一、For Loops - For循环
for循环用来多次执行一组语句 ,Swift提供了两种形式:
1.for-in执行范围,序列,集合或级数等每一项中的一组语句2.for-condition-increment执行一组语句直到确定的条件出现,通常在每一个循环结束前递增一个计数
For-In循环
使用for-in来遍历集合中的项目,比如数组的范围,排列中的项或者字符串中的字符。
下面的例子打印了表中的5个元素
复制代码 代码如下:
for index in 1...5 {println(\(index) times 5 is \(index * 5))}// 1 times 5 is 5// 2 times 5 is 10// 3 times 5 is 15// 4 times 5 is 20// 5 times 5 is 25
例子中被迭代集合的项是一个封闭范围内从1到5的数字,就是上面标识为封闭范围操作符的 (...)。 Index的值被设为第一个数据的范围(1), 然后执行循环中的语句。在本例中,循环只包含了一句话,根据index现有的值打印5次乘法表的一个结果。当执行完语句之后,index的值被更新为范围中的第二个值,然后再次调用println函数。这个操作会一直持续,直到范围的终点。
在上面的例子中,index是一个常量,它的值在每次迭代的开始时自动初始化,使用前不会被声明,就是简单的将其隐性声明纳入循环的声明,不需要使用let来声明关键字。
复制代码 代码如下:
NOTE:Index常量仅仅存在于循环的范围内。如果你想要在循环之后得到index的值,或者想要使用index的值作为变量,你必须在循环之前声明它。
如果不需要范围的值,可以用下划线替代变量名来忽略这些值:
复制代码 代码如下:
let base = 3let power = 10var answer = 1for _ in 1...power {answer *= base}println(\(base) to the power of \(power) is \(answer))// prints 3 to the power of 10 is 59049
例子中计算两数相乘(在本例中,3乘以10)。乘法初始值为1,每次乘3,乘10次,使用半封闭循环从0到9。这个计算不需要通过循环来知道每个计数器的值--仅仅只需要执行正确的循环次数。下划线操作符 _ (用于替代循环变量)将忽略掉个体值,并且在每一次循环迭代期间不给现有的变量提供访问。
使用for-in循环来迭代出array中的每一个项:
复制代码 代码如下:
let names = [Anna, Alex, Brian, Jack]for name in names {println(Hello, \(name)!)}// Hello, Anna!// Hello, Alex!// Hello, Brian!// Hello, Jack!
同样可以迭代字典来访问其中的键值对。当迭代字典时里面的每一个项都以(key,value)元组的形式来返回,你可以在for-in的循环体中分解 (key, value) 元组的成员,把成员作为显性命名的常量来使用。下面例子,字典的key被分解为animalName的常量,字典的值被分解名为legCount的常量:
复制代码 代码如下:
let numberOfLegs = [spider: 8, ant: 6, cat: 4]for (animalName, legCount) in numberOfLegs {println(\(animalName)s have \(
您可能关注的文档
最近下载
- (YUM)百胜验厂审核详细要求清单.pdf VIP
- 四上数学口算竖式脱式应用题每日一练60天(60页).pdf VIP
- 《云南彝良地区地质构造特征探讨.docx VIP
- 三上数学口算竖式脱式应用题每日一练60天(60页).pdf VIP
- 2025年新青岛版数学三年级上册全册课件.pptx
- 《旅游客源地与目的地概况》教案 第1课 了解世界旅游业(一).pdf VIP
- 人教版劳动教育四年级上册全册教学设计.pdf VIP
- 2022年国家人体生物监测工作手册.pdf VIP
- 电子课件自主学习修订版第一单元开启自主学习的旅程.pptx VIP
- JBT 4333.2-2013 厢式压滤机和板框压滤机 第2部分:技术条件.pdf VIP
文档评论(0)