每天学一点Swift----元组(tuple)类型

1.元组(tuple)使用圆括号把多个值组合成一个复合值,******元组内的值可以使用任意类型,元组并不要求元组内的值具有相同的类型----可以拿C语言中的结构体,java中的javaBean来类比,个人认为,这是元组的最大的优点。它比前两者方便来许多。

2.定义元组类型的变量:

(1). var yuanzu = (128, 12.34, "swift", true);//定义来元组变量,并指定初始值,系统会自动判断该元组类型为(Int, Float, String, Bool)。

(2). var score :(Int, Int, String, Double)

score = (12, 34, "及格", 45.34)

先使用元组类型来定义元组变量,然后为元组变量赋予指定类型的值。

3.元组中的成员也可以再次是元组,例如:

var test : (Int, (Int, String), String)

test = (12, (34, "Swift"), "Object-c")

4.元组的输出像字符串一样:

print("score元组的成员是:\(score)")

print(test元组的成员是:\(test)")

5.获取元组中的元素值:Swift允许通过下标来访问元组的单个元素----元组的下标从0开始----跟访问数组是相同的。

举个栗子:print(test.0, test.1.0, test.1.1, test.2)

6. Swift中允许将元组的元素拆分成单个的变量或常量。

var (a1, a2, a3, a4) = score;

var (b1, b2, b3, _) = score

**注意,这里要省略的元素必须以下划线作为占位符,不然的话编译会报错。

7.为元组中的元素命名----定义元组时除了简单地用括号将多个值括起来之外,还可以使用key:value的形式来定义元组,这种形式相当于给元

组中的每一个元素都指定名字----类比于Java中map类型。

举个栗子:var health = (height:182,体重:80, status:"良好")

var score = (Swift:int, oc:Int, java:Double, c++:String)

此时,对元组score赋值有两种方式:

(1). score = (34, 98, 12.01, "abcde") ----顺序必须对应

(2). score = (java:12.01, Swift:34, c++:"abcde", oc:98)----与顺序无关

8.为元组命名之后就可以使用它的元素名来访问了,举个栗子:

print(score.oc,score.java);

9.元组还有非常实用的一点是:在Swift函数支持的返回的多个返回值的时候,多个返回值也是以元组的形式返回的。

你可能感兴趣的:(每天学一点Swift----元组(tuple)类型)