swift基础之元祖

元祖:

元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。

可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可以创建一个类型为 (Int, Int, Int) 或者 (String, Bool) 或者其他任何你想要的组合的元组。

如:

let http404Error = (404, "Not Found")

http404Error 的类型是 (Int, String),值是 (404, "Not Found")

元祖的用法如下:

1、可以将一个元组的内容分解(decompose)成单独的常量和变量,然后你就可以正常使用它们了:

let (statusCode, statusMessage) = http404Error

print("The status code is \(statusCode)")

print("The status message is \(statusMessage)")

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

let (justTheStatusCode, _) = http404Error

print("The status code is \(justTheStatusCode)")

3、可以通过下标来访问元组中的单个元素,下标从零开始:

print("The status code is \(http404Error.0)")

print("The status message is \(http404Error.1)")

4、可以在定义元组的时候给单个元素命名:

let http200Status = (statusCode: 200, description: "OK")

给元组中的元素命名后,可以通过名字来获取这些元素的值:

print("The status code is \(http200Status.statusCode)")

print("The status message is \(http200Status.description)")

5、作用

作为函数返回值时,元组非常有用。一个用来获取网页的函数可能会返回一个 (Int, String) 元组来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不同类型值的元组可以让函数的返回信息更有用。

注意:

元组在临时组织值的时候很有用,但是并不适合创建复杂的数据结构。如果你的数据结构并不是临时使用,请使用类或者结构体而不是元组。

你可能感兴趣的:(swift基础之元祖)