美文网首页swift基础
swift基础—元组(Tuples)

swift基础—元组(Tuples)

作者: 莽原奔马668 | 来源:发表于2017-04-18 16:17 被阅读4次

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

下面这个例子中, (404, "Not Found") 是一个描述* HTTP 状态码(HTTP status code)的元组。HTTP 状态码是 当你请求网页的时候 web *服务器返回的一个特殊值。如果你请求的网页不存在就会返回一个 *404 Not Found *状态码。

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

(404, "Not Found") 元组把一个* Int 值和一个 String 值组合起来表示 HTTP 状态码的两个部分:一个数字和一个人类可读的描述。这个元组可以被描述为“一个类型为 (Int, String) *的元组”。

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

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

let (statusCode, statusMessage) = http404Error 
print("The status code is \(statusCode)")
// 输出 "The status code is 404"
print("The status message is \(statusMessage)")
 // 输出 "The status message is Not Found"

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

let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
 // 输出 "The status code is 404"

此外,你还可以通过下标来访问元组中的单个元素,下标从零开始:

print("The status code is \(http404Error.0)")
// 输出 "The status code is 404"
print("The status message is \(http404Error.1)") 
// 输出 "The status message is Not Found"

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

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

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

print("The status code is \(http200Status.statusCode)")
// 输出 "The status code is 200"
print("The status message is \(http200Status.description)")
// 输出 "The status message is OK"

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

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

相关文章

  • swift基础—元组(Tuples)

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

  • 语法进阶-元组

    ---参考Bannings的Swift 元组(Tuples)介绍 1. 元组的定义2.读取元组中的数据3.跳过不关...

  • Swift存储数据方式和构造函数

    Swift存储数据方式 Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(...

  • [Swift]Tuple(元组的遍历)

    元组概念和用法不再多说 转载一篇文章Swift元组(tuples)最佳代码实战 作者:白马斩尘_Pinch 就能...

  • 自学Swift之元组 tuples

    记得第一眼看到元组(tuples)这个概念的时候,感觉元组(tuples)好 diao 的样子 元组的概念: 元组...

  • swift从入门到放弃-基本语法(2)

    基本语法字符串元组高阶方法 字符串 swift3.0中提供了如下两个格式化字符串的方法 元组 元组(tuples)...

  • 元组(Tuples)

    元组是一种类型,它多个值组合在一个复合的值里面。元组中的值可以是任何类型,和元组中其他值的类型也不需要一样。 ...

  • 元组Tuples

    Advanced Types Tuples 元组 1.将多个不同的值集合成一个数据2.可以有任意多个值3.不同值可...

  • 元组(Tuples)

    元组 元组与列表非常相似,不过元组是不可变的。 而且,它们使用圆括号创建,而不是方括号。 words = ("sp...

  • IOS每日学习8.3 Swift的元组

    Swift元组第一次接触时感觉很怪,好像oc和java等语言都没有这个概念。 元组(Tuples)是由多个值组成的...

网友评论

    本文标题:swift基础—元组(Tuples)

    本文链接:https://www.haomeiwen.com/subject/autqzttx.html