美文网首页
元组(Tuples)

元组(Tuples)

作者: 小金_1180 | 来源:发表于2018-06-13 16:29 被阅读0次

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

        let http404Error = (404, "Not Found")

    上面的例子中,(404, "Not Found")是一个描述HTTP状态值的元祖。HTTP状态值是当你访问Web页的时候Web服务器返回的特殊的值。404, "Not Found"这个状态值表示你请求的Web页面不存在。

    (404, "Not Found")这个元组把一个Int类型的值和一个String类型值组合在了一起,给了HTTP状态值2个独立的值:一个数字和一个易于理解的的描述。它可以被描述一个type (Int, String)的元组。

    你可以使用各种组合来创建一个元组,也可以包含你希望包含的所有你希望的不同的类型。没有什么可以阻止你创建一个(Int, Int, Int)的元组或者(String, Bool)的元组,当然也可以是其他你需要的类型的排列组合。

    你可以把一个元组的内容分解成几个独立的常量或者变量,分解之后你可以像平常一样使用:

        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”

    还有另外一种方式可以访问元组的单个元素,就是使用索引,默认从0开始:

        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”

    元组作为一个函数的返回值是很有用的,一个尝试获取web页的函数可以返回(Int, String)的元组去描述访问的成功或者失败。相比于返回单个数据,通过返回多个不同类型的且各自都表达了明确意思的值,函数可以根据结果提供很多的有用的信息。

NOTE:把多个相关联的数据组合成一个临时的数据组,那么使用元组是很合适的,但是不适合用元组构造出复杂的数据结构,如果你希望把你的数据结构持久的保存下来,那么使用类或者结构体把它模型化是更为合适的选择。

相关文章

  • 自学Swift之元组 tuples

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

  • 元组(Tuples)

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

  • 元组Tuples

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

  • 元组(Tuples)

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

  • Swift新引入的类型

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

  • Swift基础

    Type Aliases Tuples(元组) 使用方法 对多个对象进行赋值: 通过index获取Tuples成员...

  • Day 02 2018-03-12

    Function def f(x): no return will return None Tuples元组 an...

  • 语法进阶-元组

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

  • Swift 基本运算

    元组(Tuples) 比较 Nil-Coalescing运算符 范围运算 a <= x <= b

  • Python的容器数据类型

    Sequence序列对象 lists列表, 元组tuples, and range 通用序列操作: item in...

网友评论

      本文标题:元组(Tuples)

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