Swift 元组(Tuple)

元组类型,用于在单个复合值中对多个值进行分组

元组中的值可以是任何类型,并且不需要是相同类型

声明:

 元组声明的语法

 var TupleName = (Value1, value2, ..., any number of values)

方式1:最简单的元组,就是在圆括号中,用逗号分隔的一组值

var aTuple = (10, "TottiLV")

是一个具有两个值的元组,一个元素是整数类型,另一个元素是字符串类型(这是一个合法的数据)

方式2:可以在声明时命名元组的变量,也可以使用它们的名称来调用

let error404= (errorCode:401, description:"Not Found")

数组和字典组合

let arr = [1,2,3]

let dic = ["key1":"value1","key2":"value2","key3":"value3"]

let anyTuple = (arr, dic)

取值

方式1:使用下标

print("The code is:\(aTuple.0)")

print("The definition of error is:\(aTuple.1)")

方式2:使用元素名称

print("The code is:\(error404.errorCode)")

print("The description of error is:\(error404.description)")

方式3:拆分成常量/变量

let (x,y) = aTuple

print("x==\(x)")

print("y==\(y)")

应用:

1、作为函数参数

func foo(_ argv: (Int, Int ,String)) -> Int{

    return argv.0

}

let arguments = (4,3,"hello")

let result = foo(arguments)

print("result=\(result)")

2、作为函数返回值

func foo1() -> (Int, Int, String){

    return (3,4,"hello")

}

let(a,b,c) =foo1()

print("a==\(a)")

print("b==\(b)")

print("c==\(c)")

总结:

元组优点:

 1、元组可以同时存储多种类型元素,且元素类型固定,以保数据安全,除非你定义数据类型为Any。编译器会对赋值参数类型进行检查

 2、元组的元素个数固定,不允许增加、删除,编译器会严格校验赋值参数个数

 3、无需定义key,但是必要时可以为数据命名,方便数据访问

 4、适合同时遍历多元数据


 元组缺点

 1、不适合存储大量数据,因为元组不支持append、remove等方法

 2、考虑到工程实际情况,后段使用的语言可能不支持元组,需要转换为其他格式


 元组适合应用于组合少量的多元的数据,与数组、字典结合使用可以产生强大威力

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。 例如:let htt...
    piggybear阅读 1,950评论 0 0
  • 元组的概念在OC中没有 元组可以把多个值和合并成单一的复合型的值 元组内的值可以是任何类型,而且可以不必是同一类型...
    一个栗阅读 145评论 0 0
  • 元组把多个值合并成单一的复合型的值。元组内的值可以是任何类型,而且可以不必是同一类型。 元组是关系数据库中的基...
    文馨2526阅读 556评论 4 2
  • 定义元组 获取元组内容 修改元组 元组分解 元组作为函数返回值 通常可以用元组来为函数返回多个返回值。
    _发强阅读 363评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,587评论 28 53