第七节 元组(Tuples)

本文来自于疯子们的开源图书


元组把多个值组成一个复合值。元组当中的值可以为任意类型的,而且每个元素可以是不同类型的。

例子,元组(404,“Not Found”)描述了一个HTTP状态码。每当你请求一个网页的时候,web 服务器都会返回一个特殊值,也就是HTTP 状态码。状态码404 Not Found表示请求的页面没有找到。

元组(404,"Not Found")将一个Int和一个String值组合在一起,表示状态码的两个单独部分:数字和适合人们阅读的描述信息 。你可以把他看成(Int,String)这种类型的元组。

你可以创建具有任意类型排列的元组,他们可以有各种不同的类型。没什么阻止你创建一个(Int,Int,Int),或者(String,Bool)这种类型,亦或者任意类型排列的元组。

你可以将元组拆分到不同的常量或者变量当中,这样你就可以像往常一样访问他们了:

如果你只是需要元组中的某些值的话,在拆分元组的时候,可以使用下划线(_)来忽略部分值:

此外,你也可以使用从0开始的索引值来随机访问元组中的元素:

在你定义元组的时候,可以给元组中的每个元素单独命名:

如果你给元组中的元素命名了的话,你就可以通过名字来访问元素的值了:

元组在作为函数返回值的时候,尤其的有用。一个函数可以在试着在获取网页的时候,返回一个(Int,String)类型的元组作为返回结果来表示页面获取是成功了,还是失败了。通过返回一个具有两种不同类型的二元组,函数可以在他的结果当中提供更有用的信息,而不仅是一个单一类型的值。

更多的信息,可以参考”携带多个返回者的函数“这一章

注意:元组只是在适合组合一些相关的值的时候才有用。他们并不适合创建复杂的数据结构。如果你的数据结构不仅仅要临时使用一下的话,把他们建模成为一个类或者结构体更好一些。

更多信息,可以参考"类和结构体"


你可能感兴趣的:(swift)