Swift数据类型(五)

来源:互联网 发布:红蚂蚁网络销售 编辑:程序博客网 时间:2024/06/05 19:08
   

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元组,可读性不是很强,直接看到(201654)大家未必能猜测出是表示年月日。但是第2行代码定义的time2元组,通过(year:2016,month:5,day:4),我们可以很直观的知道2016是表示年,month是表示月,day是表示天。这样表示代码的可读性会更好,建议大家使用这种表示方法来定义一个元组。

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

  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)")

运行结果:

20165月4日

20165月4日

20165月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): ")

输出结果:20165

 

 

0 0