swift语言 数组定义_Swift入门(5)——数组(Array)

集合

集合的定义

Swift中提供了两种数据结构用于存放数据的集合,分别是数组(Array)和字典(Dictionary)。他们的主要区别在于数组中的元素由下标确定,而字典中的数据的值由数据的键(Key)决定。以下我们认为集合就是数组或字典。

集合的可变性

我们可以定义一个集合常量或者集合变量。一旦定义为常量,就意味着集合的长度、内容和顺序都不能再修改了。比如,定义为常量的数组,不能再向其中添加新的元素。

数组的创建

由于swift中变量的创建遵循“ var 变量名:变量类型 ”的语法,因此数组的创建归根结底还是数组类型的定义。一共有三种方法来定义数组的类型:

var arrayOne:Array = [1,2,3]

println("arrayLong = \(arrayOne)")

var arrayTwo:[Int] = [1,2,3]

println("arrayShort = \(arrayTwo)")

var arrayThree = [1,2,3]

println("arrayThree = \(arrayThree)")

第一种是数组类型的完整定义,即Array关键字加上一对尖括号,括号内写上数组元素的类型。

第二种是数组类型的简化定义,即一对方括号内写上数组元素的类型。这与第一种定义方法完全等价。

在使用这两种方法定义数组的时候,一定要确保数组中每个元素类型相同,否则将会产生编译错误。

第三种运用了Swift的类型推导的特性。需要注意的是,数组的值由方括号组成,里面的元素用逗号隔开。如果方括号改成了圆括号,编译器不会报错(这将变成元组),所以千万要小心,避免莫名其妙的错误。

第三种方法除了书写简单之外,还有一种好处,即不必确保数组中每个元素类型相同。我们来通过代码看一看多个不同类型的元素出现在统一数组中会发生什么情况:

var arrayThree = [1,2,3]

println("arrayThree = \(arrayThree)")

var arrayMixed = [1,"abc",true,1.5]

println("arrayMixed = \(arrayMixed)")//在这一行结束前设置断点

//在LLDB调试其中分别输入print arrayThree和print arrayMixed

可以得到如下结果

([Int]) $R0 = 3 values {

[0] = 1

[1] = 2

[2]

你可能感兴趣的:(swift语言,数组定义)