Swift 循环
循环类型
Swift 语言提供了以下几种循环类型。点击链接查看每个类型的详细描述:
| 循环类型 | 描述 |
|---|---|
| 遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。 | |
|
该循环方式在 Swift 3 中已经弃用。 用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。 |
|
| 运行一系列语句,如果条件为true,会重复运行,直到条件变为false。 | |
| 类似 while 语句区别在于判断循环条件之前,先执行一次循环的代码块。 |
循环控制语句
循环控制语句改变你代码的执行顺序,通过它你可以实现代码的跳转。Swift 以下几种循环控制语句:
| 控制语句 | 描述 |
|---|---|
| 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 | |
| 中断当前循环。 | |
| 如果在一个case执行完后,继续执行下面的case,需要使用fallthrough(贯穿)关键字。 |
语法:
Swift for-in 循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。
for index in var {
循环体
}
Swift for 循环用来重复执行一系列语句直到达成特定条件,一般通过在每次循环完成后增加计数器的值来实现。
for init; condition; increment{
循环体
}
参数解析:
- init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
- 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
- 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
实例:
import Cocoa
var someInts:[Int] = [, , ]
for var index = ; index < ; ++index {
print( "索引 [\(index)] 对应的值为 \(someInts[index])")
}
Swift while循环从计算单一条件开始。如果条件为true,会重复运行一系列语句,直到条件变为false。
while condition
{
statement(s)
}
语法中的 statement(s) 可以是一个语句或者一个语句块。 condition 可以是一个表达式。如果条件为true,会重复运行一系列语句,直到条件变为false。
数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。
import Cocoa var index = while index <
{
print( "index 的值为 \(index)")
index = index +
}
Swift repeat...while 循环不像 for 和 while 循环在循环体开始执行前先判断条件语句,而是在循环执行结束时判断条件是否符合。
repeat
{
statement(s);
}while( condition );
请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为 true,控制流会跳转回上面的 repeat,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为 false 为止。
数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。
import Cocoa
var index =
repeat{
print( "index 的值为 \(index)")
index = index +
}while index <
Swift 循环的更多相关文章
- Swift循环遍历集合方法
第一种方式:for-in循环 OC延续了C语言的for循环,在Swift中被彻底改造,我们无法再使用传统形式的for循环了 遍历数组和字典: //遍历数组 let iosArray = [&quo ...
- swift 循环语句
// // main.swift // switch // // Created by lanou on 16/10/21. // Copyright (c) 2016年 lanou. All rig ...
- Swift 循环、数组 字典的遍历
import Foundation // 数组声明 var arr = [String]() // 数组循环添加项 ...{ arr.append("Item \(index)") ...
- Swift 循环引用
- 循环引用的weak用法 // ** {} 中所有 self 都是弱引用,注意需要解包 // 1.类似于 OC 中的 __weak typeof(self) weakSelf = se ...
- Swift循环的介绍
循环的介绍 在开发中经常会需要循环 常见的循环有:for/while/do while. 这里我们只介绍for/while,因为for/while最常见 for循环的写法 最常规写法 // 传统写法 ...
- swift循环
..< { println(... { println( ":"lala"] for (key,value)in dic { println ...
- 关于for循环------swift3.0
在程序开发当中,for循环使用的频率无疑是最高的.常用的swift循环是递增式遍历.当然各种循环,swift都能办到.但其大多采用关键字形式实现,大部分开发者更喜欢直接使用C式循环代码.在swift3 ...
- Swift 算法实战之路:基本语法与技巧
Swift是苹果新推出的编程语言,也是苹果首个开源语言.相比于原来的Objective-C,Swift要更轻便和灵活.笔者最近使用Swift实践了大量的算法(绝大部分是硅谷各大公司的面试题),将心得体 ...
- Swift & OC 混编 浅析
转载自:http://www.infoq.com/cn/articles/wangyi-cartoon-swift-mixed-practice?utm_campaign=rightbar_v2&am ...
随机推荐
- Android Studio 证书问题
彻底解决unable to find valid certification path to requested target 转载: https://www.cnblogs.com/Anderson ...
- Linux学习之九-Linux系统定时任务
Linux系统定时任务 在一些实际工作中需要机器在某个时间自动执行某个任务,不需要人为在此时刻参与,可以建立一个定时任务. crond 服务是linux下用来周期性的执行某种任务或等待处理某些事件的一 ...
- No package libmcrypt available.
Centos安装PHP时,安装php依赖包时yum install libmcrypt libmcrypt-devel,报错如下: No package libmcrypt available. No ...
- idou教你学Istio10 : 如何用Istio实现K8S Egress流量管理
上一篇我们了解了如何控制入口流量,本文主要介绍在使用Istio时如何访问集群外服务,即对出口流量的管理. 默认安装的Istio是不能直接对集群外部服务进行访问的,如果需要将外部服务暴露给 Istio ...
- C#中设置密码框 ,用符号代替密码
添加控件 添加控件 确认键代码 private void button1_Click(object sender, EventArgs e) { //修改密码.新密码,重复新密码,两次输入的新密码必须 ...
- 在 java 程序中怎么保证多线程的运行安全?(未完成)
在 java 程序中怎么保证多线程的运行安全?(未完成)
- 文件已经传输过来,数据在data,http接收
- 【H5】 经纬度位置获取navigator.geolocation.getCurrentPosition
navigator.geolocation.getCurrentPosition(function(){})经度 : coords.longitude 纬度 : coords.latitude 准确度 ...
- springboot mybatis 的SQL异常不输出错误到控制台问题排查
项目中使用springboot集成 mybatis,运行过程中查询SQL列在表中不存在,但系统不输出任何错误到控制台 但SQL是打印的,只是没有任何异常信息 将SQL复制出来到数据库中运行,才发现错误 ...
- canvas制图学习
<!DOCTYPE html> <html lang="zh-en"> <head> <meta charset="UTF-8& ...