- 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 -贯穿语句
- 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 - ARC 概述
- Swift - 可选链
- Swift - 错误处理
- Swift - 并发
- Swift - 类型转换
- Swift - 嵌套类型
- Swift - 扩展
- Swift - 协议
- Swift - 泛型
- Swift - 访问控制
- Swift - 函数与方法
- Swift - SwiftyJSON
- Swift - 单例类
- Swift 随机数
- Swift 不透明类型和装箱类型
- Swift 有用资源
- Swift - 在线编译
- Swift - 快速指南
- Swift - 有用资源
- Swift - 讨论
Swift - 数组
数组用于存储相同类型值的排序列表。Swift 进行严格检查,即使是错误,也不允许您在数组中输入错误的类型。如果您将创建的数组赋值给变量,则它始终是可变的,这意味着您可以通过添加、删除或更改其元素来更改它;但如果您将数组赋值给常量,则该数组是不可变的,其大小和内容都不能更改。如果您尝试更改它,编译器将抛出错误。
数组可以在不同的位置存储重复的值。数组中的每个元素都有一个从 0 开始的索引值,以便我们可以使用该索引访问和修改它们。
在 Swift 中创建数组
我们可以通过显式指定数组的类型来创建数组。
语法
以下是创建数组的语法:
var someArray : [Type] = []
我们也可以在不指定其类型的情况下创建数组。在这种情况下,编译器将根据赋值的值自动获取数组的类型。
var someArray = [value1, value2, value3]
如果您需要创建一个只有一个值(通过重复它)的数组,您可以使用 Array() 初始化器。
var someInts = Array(repeating: "Swift", count: 4)
示例
在下面的示例中,我们使用上面讨论的所有语法创建了 3 个不同的数组:
import Foundation // Defining an array by specifying the type var arr1:[Int] = [11, 44, 55, 77, 88, 22] print("Contents of arr1 :", arr1) // Defining an array without specifying the type var arr2 = [101, 404, 550, 770, 880, 222] print("Contents of arr2 :", arr2) // Defining an array with a single value var arr3 = Array(repeating: "Tutorialspoint", count: 3) print("Contents of arr3 :", arr3)
输出
上述程序产生以下结果:
Contents of arr1 : [11, 44, 55, 77, 88, 22] Contents of arr2 : [101, 404, 550, 770, 880, 222] Contents of arr3 : ["Tutorialspoint", "Tutorialspoint", "Tutorialspoint"]
在 Swift 中修改和访问数组
在数组中,每个元素都有其自身的索引值,从 0 开始。因此,要从数组中检索值,请在数组名称之后立即在方括号中传递要检索的值的索引,使用下标语法。
语法
以下是访问和修改数组的语法:
arrayName[indexValue]
这里,索引从 0 开始,这意味着第一个元素可以使用索引 0 访问,第二个元素可以使用索引 1 访问,依此类推。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [11, 44, 55, 77, 88, 22] // Accessing the element present at index 3 // Using subscript syntax print("Array element:", someArr[3])
输出
编译并执行上述代码后,将产生以下结果:
Array element: 77
使用下标语法,我们还可以通过为现有索引赋值新值来修改数组的元素。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [11, 44, 55, 77, 88, 22] // Modifying the array element present at index 3 // Using subscript syntax someArr[3] = 33 print("Modified Array element:", someArr[3])
输出
编译并执行上述代码后,将产生以下结果:
Modified Array element: 33
在 Swift 中向数组添加新元素
我们可以使用以下方法向现有数组添加新元素。
使用 append() 方法
它在指定数组的末尾添加一个新元素。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [43, 32, 11] // Appending new element using append() method someArr.append(34) someArr.append(60) print("Updated Array", someArr)
输出
编译并执行上述代码后,将产生以下结果:
Updated Array [43, 32, 11, 34, 60]
使用加法赋值运算符(+=)
我们还可以使用加法赋值运算符在数组末尾添加新项。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [43, 32, 11] // Adding new element using += operator someArr += [30] someArr += [90] print("Updated Array", someArr)
输出
编译并执行上述代码后,将产生以下结果:
Updated Array [43, 32, 11, 30, 90]
在 Swift 中迭代数组
迭代数组是编程中最基本和最常用的操作。它允许开发人员访问和处理指定数组的各个元素。在 Swift 中,我们可以使用以下方法迭代数组:
使用 for-in 循环
我们可以使用 for-in 循环迭代数组中的整套值。这是访问和顺序处理给定数组的每个元素的最简单、最简洁的方法。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [3, 56, 12, 4, 23, 5, 6, 7, 8] print("Array Elements:") // Iterating over the array using a for-in loop for x in someArr{ print(x) }
输出
编译并执行上述代码后,将产生以下结果:
Array Elements: 3 56 12 4 23 5 6 7 8
将 enumerated() 函数与 for-in 循环一起使用
我们还可以将 enumerated() 函数与 for-in 循环一起使用,它将返回项目的索引及其值。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [3, 56, 23, 34, 5, 78, 9] print("Array Elements with their index value:") // Iterating over the array using for-in loop along with enumerated() function for (index, element) in someArr.enumerated() { print("Value at index = \(index) is \(element)") }
输出
编译并执行上述代码后,将产生以下结果:
Array Elements with their index value: Value at index = 0 is 3 Value at index = 1 is 56 Value at index = 2 is 23 Value at index = 3 is 34 Value at index = 4 is 5 Value at index = 5 is 78 Value at index = 6 is 9
使用 while 循环
我们还可以使用 while 循环迭代给定数组的元素。它提供对迭代的显式控制。在需要对迭代进行细粒度控制的地方,它非常有用。
示例
import Foundation // Defining and initializing an array var someArr:[Int] = [3, 56, 23, 34, 5, 78, 9] print("Array Elements:") var indexVal = 0 // Iterating over the array using while loop while indexVal < someArr.count { print(someArr[indexVal]) indexVal += 1 }
输出
编译并执行上述代码后,将产生以下结果:
Array Elements: 3 56 23 34 5 78 9
使用 forEach() 函数
Swift 提供一个名为 forEach() 的预定义函数来迭代给定数组。它用于对给定数组的各个元素执行简单的操作,而无需显式迭代。
示例
import Foundation // Defining and initializing an array var someArr:[String] = ["Mona", "Pihu", "Mayank", "Sumit"] print("Array Elements:") // Iterating over the array using forEach() function someArr.forEach { names in print(names) }
输出
编译并执行上述代码后,将产生以下结果:
Array Elements: Mona Pihu Mayank Sumit
在 Swift 中添加两个数组
我们可以使用加法运算符 (+) 来添加相同类型的两个数组,这将产生一个包含来自这两个数组的值的新数组。
语法
以下是添加两个数组的语法:
var result = Array1 + Array2
示例
import Foundation // Defining and initializing an array var someArr1:[Int] = [11, 44, 55, 77, 88, 22] var someArr2:[Int] = [10, 40, 50, 70, 80, 20] // Adding two arrays of the same type // Using + operator var resultantArray = someArr1 + someArr2 print("Concatenated Array: ", resultantArray)
输出
编译并执行上述代码后,将产生以下结果:
Concatenated Array: [11, 44, 55, 77, 88, 22, 10, 40, 50, 70, 80, 20]
Swift 中的 count 属性
count 属性用于计算指定数组中存在的元素总数。
语法
以下是 count 属性的语法:
Array.count
示例
import Foundation // Defining and initializing arrays var someArr1:[Int] = [3, 56, 12, 4, 23, 5, 6, 7, 8] var someArr2:[String] = ["Blue", "Black", "Green", "Yellow"] var someArr3:[Int] = [] // Counting the total number of elements present // in the given array // Using count property print("Total number of elements present in someArr1 = \(someArr1.count)") print("Total number of elements present in someArr2 = \(someArr2.count)") print("Total number of elements present in someArr3 = \(someArr3.count)")
输出
编译并执行上述代码后,将产生以下结果:
Total number of elements present in someArr1 = 9 Total number of elements present in someArr2 = 4 Total number of elements present in someArr3 = 0
Swift 中的 empty 属性
empty 属性用于检查给定数组是否为空。如果给定数组为空,则此属性将返回 true。如果给定数组包含某些元素,则此属性将返回 false。
语法
以下是 empty 属性的语法:
array.isEmpty
示例
import Foundation // Defining and initializing arrays var someArr1:[Int] = [2, 5, 66, 44, 32, 2, 12] var someArr2:[String] = ["Blue, Black"] var someArr3:[Int] = [] // Checking if the given arrays are empty or not // Using isEmpty property print("Is someArr1 is empty? = \(someArr1.isEmpty)") print("Is someArr2 is empty? = \(someArr2.isEmpty)") print("Is someArr3 is empty? = \(someArr3.isEmpty)")
输出
编译并执行上述代码后,将产生以下结果:
Is someArr1 is empty? = false Is someArr2 is empty? = false Is someArr3 is empty? = true