Swift数据类型(五)

5.元组类型

swift语言中,元组是多个值组成的复合值类型,便于管理和计算。元组类型由N个任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素”。

现在我们来定义一个用来表示时间的元组time。它包括年(year)、月(month)、日(day)。示例代码如下:

1 |  let time1 = (2016,5,4)

2 |  let time2 = (year:2016,month:5,day:4)

例子中,第1行代码定义了一个名文time1的元组。用来表示年月日。第2行代码定义了名为time2的元组。同样是表示年月日。但这两种写法是有区别的,第1行代码定义的time1元组,可读性不是很强,直接看到(2016,5,4)大家未必能猜测出是表示年月日。但是第2行代码定义的time2元组,通过(year:2016,month:5,day:4),我们可以很直观的知道2016是表示年,month是表示月,day是表示天。这样表示代码的可读性会更好,建议大家使用这种表示方法来定义一个元组。

如果想访问元组中的数据,我们可以使用下标方式来访问元组中的值,如0,1…以此类推,也可以通过元素名来访问元组的值。这里我们以元组time1和time2为例:

1|  let time1 = (2016,5,4)

2|  print("\(time1.0)年\(time1.1)月\(time1.2)日")

3|  let time2 = (year:2016,month:5,day:4)

4|  print("\(time2.0)年\(time2.1)月, \(time2.2)日")

5|  print("\(time2.year)年\(time2.month)月\(time2.day)日")

运行结果:

2016年5月4日

2016年5月4日

2016年5月4日

例子中,第1行代码我们定义了time1元组,第2行代码通过下标方式访问元组中的值,如time1.0表示访问元组的第一个值。第3行代码我们定义了time2元组,第4行代码同样是采用下标方式访问元组中的每一个元素。第5行代码通过元组的元素名访问元组的值,如time2.year访问元组的第一个值。

此外我们也可以把一个元组的内容分解成单独的常量和变量。我们仍以time2这个元组为例:

1|  let (year,month,day) = time2

2|  print("\(year)年\(month)月\(day)日")

运行结果同上例。

如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记。示例如下:

1|  let (year,month,_) = time2

2|  print("\(year)年\(month)月: ")

输出结果:2016年5月

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容