- Swift 教程
- Swift - 首页
- Swift - 概述
- Swift - 环境
- Swift - 基本语法
- Swift - 变量
- Swift - 常量
- Swift - 字面量
- Swift - 注释
- Swift 运算符
- Swift - 运算符
- Swift - 算术运算符
- Swift - 比较运算符
- Swift - 逻辑运算符
- Swift - 赋值运算符
- Swift - 位运算符
- Swift - 其他运算符
- Swift 高级运算符
- Swift - 运算符重载
- Swift - 算术溢出运算符
- Swift - 恒等运算符
- Swift - 范围运算符
- Swift 数据类型
- Swift - 数据类型
- Swift - 整数
- Swift - 浮点数
- Swift - Double
- Swift - 布尔值
- Swift - 字符串
- Swift - 字符
- Swift - 类型别名
- Swift - 可选值
- Swift - 元组
- Swift - 断言和前提条件
- Swift 控制流
- Swift - 决策
- Swift - if 语句
- Swift - if...else if...else 语句
- Swift - if-else 语句
- Swift - 嵌套 if 语句
- Swift - switch 语句
- Swift - 循环
- Swift - for in 循环
- Swift - while 循环
- Swift - repeat...while 循环
- Swift - continue 语句
- Swift - break 语句
- Swift -贯穿语句 (fallthrough)
- Swift 集合
- Swift - 数组
- Swift - 集合 (Sets)
- Swift - 字典
- Swift 函数
- Swift - 函数
- Swift - 嵌套函数
- Swift - 函数重载
- Swift - 递归
- Swift - 高阶函数
- Swift 闭包
- Swift - 闭包
- Swift - 转义和非转义闭包
- Swift - 自动闭包
- Swift 面向对象编程 (OOP)
- Swift - 枚举
- Swift - 结构体
- Swift - 类
- Swift - 属性
- Swift - 方法
- Swift - 下标
- Swift - 继承
- Swift - 方法重写
- Swift - 初始化
- Swift - 析构
- Swift 高级特性
- Swift - ARC 概述
- Swift - 可选链
- Swift - 错误处理
- Swift - 并发
- Swift - 类型转换
- Swift - 嵌套类型
- Swift - 扩展
- Swift - 协议
- Swift - 泛型
- Swift - 访问控制
- Swift - 函数与方法的区别
- Swift - SwiftyJSON
- Swift - 单例类
- Swift 随机数
- Swift 不透明类型和装箱类型
- Swift 有用资源
- Swift - 在线编译
- Swift - 快速指南
- Swift - 有用资源
- Swift - 讨论
Swift - for-in 循环
Swift for-in 循环
for-in 循环迭代遍历集合元素,例如范围、数组、集合、字典等。它迭代遍历指定集合的每个元素,无需显式索引操作。它是最常用的控制流语句,因为它以非常简洁易读的方式表达逻辑。
它也兼容函数式编程,这意味着您可以轻松地将高阶函数(如 filter()、map()、reduce() 等)与 for-in 循环一起使用。
语法
以下是 for-in 循环的语法:
for index in var{ Statement(s) }
流程图
下面的流程图将展示 for-in 循环的工作原理:
示例
Swift 程序演示 for-in 循环的使用。
import Foundation var someInts:[Int] = [10, 20, 30] for index in someInts { print( "Value of index is \(index)") }
输出
它将产生以下输出:
Value of index is 10 Value of index is 20 Value of index is 30
使用下划线 "_" 的 Swift for-in 循环
在 for-in 循环中,我们还可以使用下划线 "_" 来忽略给定集合中的值。在这里,我们在 for-in 循环中用下划线 "_" 代替 **变量名**。它将在迭代时忽略当前值。当我们只想迭代给定次数并且不需要集合中的值时,通常会使用它。
语法
以下是使用下划线的 for-in 循环的语法:
for _ in var{ Statement(s) }
示例
Swift 程序演示如何使用带下划线的 for-in 循环。
import Foundation let numbers = [3, 5, 76, 12, 4] // Using the underscore to ignore the values for _ in numbers { // Following code will execute in each iteration print("Hello!! for-in loop!") }
输出
它将产生以下输出:
Hello!! for-in loop! Hello!! for-in loop! Hello!! for-in loop! Hello!! for-in loop! Hello!! for-in loop!
Swift for-in 循环与范围
我们也可以将范围与 for-in 循环一起使用。范围是在 for-in 循环中表示值范围的最简单方法,它可以是开区间、闭区间或半开区间。for-in 循环迭代遍历给定范围中的每个值,并且在每次迭代中,循环变量都取范围中当前元素的值。
语法
以下是使用范围的 for-in 循环的语法:
// With a closed range for variableName in start…end{ Statement(s) } // With half-open range for variableName in start..<end{ Statement(s) }
示例
Swift 程序演示如何使用带范围的 for-in 循环。
import Foundation // Using closed Range print("Loop 1:") for x in 1...6 { print(x) } // Using half-open Range print("Loop 2:") for y in 1..<6 { print(y) }
输出
它将产生以下输出:
Loop 1: 1 2 3 4 5 6 Loop 2: 1 2 3 4 5
Swift for-in 循环与 stride() 函数
我们可以将 stride() 函数与 for-in 循环一起使用。stride() 函数以特定步长迭代遍历一系列值。它通常用于实现更复杂的迭代模式,或创建具有自定义迭代模式的循环。
语法
以下是使用 **stride()** 函数的 for-in 循环的语法:
for variableName in stride(from: value, to: value, by: value){ statement(s) }
参数
**stride()** 函数接受三个参数:
**from** - 包含范围的起始值。
**to** - 包含范围的结束值。不包含该值。
**by** - 包含值之间的步数或步长。如果其值为正,则步长向上迭代;如果其值为负,则步长向下迭代。
示例
Swift 程序演示如何使用带 **stride()** 函数的 for-in 循环。
import Foundation // The stride() function moves in upward direction print("Loop 1:") for x in stride(from: 1, to: 7, by: 2) { print(x) } // The stride() function moves in downward direction print("\nLoop 2:") for y in stride(from: 7, to: 1, by: -2) { print(y) }
输出
它将产生以下输出:
Loop 1: 1 3 5 Loop 2: 7 5 3
Swift for-in 循环与 where 子句
Swift 还提供了一个 where 子句,我们可以将其与 for-in 循环一起使用。where 子句用于从给定集合中过滤出仅满足 where 子句中指定条件的元素。它可以与所有可迭代集合(如数组、集合和字典)一起使用。
语法
以下是带 where 子句的 for-in 循环的语法:
for variableName in collectionName where condition{ Statement(s) }
示例
Swift 程序演示如何使用带 where 子句的 for-in 循环。
import Foundation let nums = [43, 23, 66, 12, 2, 45, 33] // Using the where clause to filter out only even elements from the array for n in nums where n % 2 == 0 { print("Even number is \(n)") }
输出
它将产生以下输出:
Even number is 66 Even number is 12 Even number is 2