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、考虑到工程实际情况,后段使用的语言可能不支持元组,需要转换为其他格式


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

你可能感兴趣的:(Swift 元组(Tuple))