Swift 4数组用于存储相同类型的值的有序列表。
如果将创建的数组分配给变量,则它始终是可变的,这意味着您可以通过添加,删除或更改其元素来对其进行更改;但是,如果将数组分配给常量,则该数组是不可变的,并且其大小和内容无法更改。
创建数组
您可以使用以下初始化器语法创建某种类型的空数组-
var someArray=[SomeType]()
这是创建给定大小a *的数组并将其初始化为值的语法-
var someArray=[SomeType](count: NumbeOfElements, repeatedValue: InitialValue)
您可以使用以下语句创建具有3个元素且初始值为零的 Int 类型的空数组-
var someInts=[Int](count: 3, repeatedValue: 0)
以下是一个示例,创建一个包含三个元素的数组并将三个值分配给该数组-
var someInts:[Int]=[10, 20, 30]
访问数组
您可以使用 subscript 语法从数组中检索值,在数组名称后紧跟在方括号内传递要检索的值的索引,如下所示-
var someVar=someArray[index]
在这里, index 从0开始,这意味着可以使用索引为0来访问第一个元素,可以使用索引为1来访问第二个元素,依此类推。以下示例显示如何创建,初始化和访问数组-
var someInts=[Int](count: 3, repeatedValue: 10) var someVar=someInts[0] print( "Value of first element is\(someVar)" ) print( "Value of second element is\(someInts[1])" ) print( "Value of third element is\(someInts[2])" )
编译并执行上述代码后,将产生以下输出-
Value of first element is 10 Value of second element is 10 Value of third element is 10
修改数组
您可以使用 append()方法或加法赋值运算符(+=)在数组末尾添加新元素,看下面的示例。首先,我们创建一个空数组,然后将新元素添加到同一数组中-
var someInts=[Int]() someInts.append(20) someInts.append(30) someInts += [40] var someVar=someInts[0] print( "Value of first element is\(someVar)" ) print( "Value of second element is\(someInts[1])" ) print( "Value of third element is\(someInts[2])" )
编译并执行上述代码后,将产生以下输出-
Value of first element is 20 Value of second element is 30 Value of third element is 40
您可以通过在给定索引处分配新值来修改Array的现有元素,如以下示例所示-
var someInts=[Int]() someInts.append(20) someInts.append(30) someInts += [40] //修改最后一个元素 someInts[2]=50 var someVar=someInts[0] print( "Value of first element is\(someVar)" ) print( "Value of second element is\(someInts[1])" ) print( "Value of third element is\(someInts[2])" )
编译并执行上述代码后,将产生以下输出-
Value of first element is 20 Value of second element is 30 Value of third element is 50
遍历数组
您可以使用 for-in 循环遍历数组中的整个值集,如以下示例所示-
var someStrs=[String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs += ["Google"] for item in someStrs { print(item) }
编译并执行上述代码后,将产生以下输出-
Apple Amazon Google
您可以使用 enumerate()函数,该函数返回项目的索引及其值 如下示例所示-
var someStrs=[String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs += ["Google"] for (index, item) in someStrs.enumerated() { print("Value at index =\(index) is\(item)") }
编译并执行上述代码后,将产生以下输出-
Value at index=0 is Apple Value at index=1 is Amazon Value at index=2 is Google
数组相加
您可以使用加法运算符(+)来添加两个相同类型的数组,这将产生一个新数组,其中包含两个数组中值的组合,如下所示-
var intsA=[Int](count:2, repeatedValue: 2) var intsB=[Int](count:3, repeatedValue: 1) var intsC=intsA + intsB for item in intsC { print(item) }
编译并执行上述代码后,将产生以下输出-
2 2 1 1 1
数组统计
您可以使用数组的只读 count 属性来找出数组中显示的项目数,如下所示-
var intsA=[Int](count:2, repeatedValue: 2) var intsB=[Int](count:3, repeatedValue: 1) var intsC=intsA + intsB print("Total items in intsA =\(intsA.count)") print("Total items in intsB =\(intsB.count)") print("Total items in intsC =\(intsC.count)")
编译并执行上述代码后,将产生以下输出-
Total items in intsA=2 Total items in intsB=3 Total items in intsC=5
空数组
您可以使用数组的只读 empty 属性来确定数组是否为空,如下图所示-
var intsA=[Int](count:2, repeatedValue: 2) var intsB=[Int](count:3, repeatedValue: 1) var intsC=[Int]() print("intsA.isEmpty =\(intsA.isEmpty)") print("intsB.isEmpty =\(intsB.isEmpty)") print("intsC.isEmpty =\(intsC.isEmpty)")
编译并执行上述代码后,将产生以下输出-
intsA.isEmpty=false intsB.isEmpty=false intsC.isEmpty=true
内置数组函数及其属性的列表:
Index | Array function | Explanation |
---|---|---|
1. | isEmpty | isEmpty属性用于确定数组是否为空。如果数组不包含任何值,则返回true,否则返回false。 |
2. | first | 此属性用于访问数组的第一个元素。 |
3. | append | append函数用于在数组末尾插入/追加元素。 |
4. | insert | 此函数用于在数组的特定索引处插入/附加元素。 |
5. | remove | 此函数从数组中删除并返回在特定位置指定的值。 |
6. | reversed | 此函数以相反的顺序返回数组的元素。 |
7. | count | 此属性返回数组中元素的总数。 |
参考链接
https://www.learnfk.com/swift/swift-arrays.html
标签:教程,无涯,Value,element,print,someInts,数组,var,Swift From: https://blog.51cto.com/u_14033984/9454237