本文概述
数组用于存储相同数据类型的多个值。数组就像一个容器, 在一个有序列表中保存多个数据/数据类型的值。提取数据时, 将按照与数组中定义的顺序相同的顺序获取元素。
数组可以存储任何数据类型的值, 例如整数, 字符串, 类等
如何在Swift 4中声明数组?
在方括号[]中指定数据类型以创建一个空数组。你必须在方括号[]中指定类型, 否则Swift会将其视为普通数据类型, 并且你只能在其中存储一个值。
声明一个空数组
句法:
let emptyIntArr:[Int] = []
print(emptyIntArr)
Or
let emptyIntArr:Array<Int> = Array()
print(emptyIntArr)
输出
[]
在这里, 我们声明了一个常量emptyIntArr, 它可以存储整数数组并用0值初始化。
直接创建数组
Swift是一种类型推断语言, 因此, 我们也可以直接创建一个数组, 而无需指定数据类型, 但是我们必须使用一些值进行初始化, 以便编译器可以找到其类型。
例:
let someIntArr = [1, 2, 3, 4, 5]
print(someIntArr)
输出
[1, 2, 3, 4, 5]
在这里, 我们声明了一个常量someIntArr, 它可以存储Integer数组, 而无需显式指定类型。另外, 我们已经初始化了数组, 其输出为1、2、3、4、5。
声明具有指定数量的单个重复值的数组
我们可以将值重复指定的次数, 以在Swift中创建一个数组。通过使用带有重复和计数的数组初始化器来完成。
例:
let arrWithRepeatingValues = Array(repeating: "srcmini", count: 5)
print(arrWithRepeatingValues)
输出
["srcmini", "srcmini", "srcmini", "srcmini", "srcmini"]
在这里, 我们定义了一个常量arrWithRepeatingValues, 该常量存储字符串srcmini的数组, 并将相同的值重复5次, 如count中所指定。
注意:在Swift 4中, 我们无法像其他编程语言那样创建固定长度大小的数组。
如何在数组中存储值?
让我们以一个常量IntArray来存储一些字符串:
let intArray = [10, 11, 12, 13, 14, 15]
数组的索引以0开头, 表示第一个元素存储在索引0中, 第二个元素存储在索引(1)中, 依此类推。
如何在Swift中访问数组元素?
你必须在数组名称之后立即在方括号内使用要访问的数组的值的索引。
假设我们如上所述声明了一个数组intArray。第一个元素是intArray [0], 第二个元素是intArray [1], 依此类推。我们使用它们来访问数组的值。
例:
let intArr = [10, 11, 12, 13, 14]
print(intArr[0])
print(intArr[1])
print(intArr[2])
print(intArr[3])
print(intArr[4])
输出
10
11
12
13
14
如何修改数组中的元素?
我们可以使用赋值运算符来修改数组的元素。我们必须在数组名称后面加上赋值运算符和新值之后, 在方括号内添加要更新的值的索引。
例:
var intArray = [10, 11, 12, 13, 14]
intArray[0] = 12
intArray[1] = 42
intArray[2] = 45
intArray[3] = 21
intArray[3] = 36
print(intArray)
输出
[12, 42, 45, 36, 14]
你也可以完全修改整个数组。
例:
var intArr = [1, 2, 3, 4]
intArr = [10, 20, 30, 40]
print(intArr)
输出
[10, 20, 30, 40]
内置数组函数及其属性的列表:
Index | 数组功能 | Explanation |
---|---|---|
1. | isEmpty | isEmpty属性用于确定数组是否为空。如果数组不包含任何值, 则返回true, 否则返回false。 |
2. | first | 此属性用于访问数组的第一个元素。 |
3. | append | append函数用于在数组末尾插入/附加元素。 |
4. | insert | 此函数用于在数组的特定索引处插入/附加元素。 |
5. | remove | 此函数从数组中删除并返回在特定位置指定的值。 |
6. | reversed | 此函数以相反的顺序返回数组的元素。 |
7. | count | 此属性返回数组中元素的总数。 |
评论前必须登录!
注册