/*
元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。
*/
//(1)声明一个元组
var mytuples=(123,"理想"); // mytuples 的类型是 (Int, String),值是 (123, "理想") *注* 关于元组类型的说明:你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可以创建一个类型为(Int, Int, Int)或者(String, Bool)或者其他任何你想要的组合的元组。
//(2)将一个元组转化为一个变量
var (mynum,mustr)=mytuples; //mynum mustr 是两个变量 mynum 为mytuples元组中的第一个值 ,mustr 为mytuples元组中的第二个值
//(3)使用下标访元组或者转换
var mynum2 = mytuples.0;
var mustr2 = mytuples.1;
//(4)以在定义元组的时候给单个元素命名,给元组中的元素命名后,你可以通过名字来获取这些元素的值:
var student=(name:"小明",age:12);
println("姓名:\(student.name) 年龄:\(student.age)");
//(5)元组通常用于函数的返回值较多,其他其可以
func getNumString()->(Int,String)
{
return (12,"小明");
}
var A = (1,"Swift") //元组变量A 由 整形和字符串组成
/*
1: A 是元组变量,由整形和字符串组成
2:(B,C)是一个匿名元组变量
3:元组变量A 所对应的值,一一对应赋值给匿名变量。即B =1 C = "Swift"
注意点:
定义的匿名元组变量个数必须和定义好的元组变量值的个数相同
*/
var (B,C) = A
println("B=\(B),C=\(C)")
运行结果
B=1,C=Swift
例子 (1.2)
import Foundation
var A = (1,"Swift") //元组变量A 由 整形和字符串组成
/*
1: A 是元组变量,由整形和字符串组成
2:(_,C)是一个匿名元组变量,其中x下划线(_)代表省略变量
3:元组变量A 所对应的值,一一对应赋值给匿名变量。即 B="Swfit"
注意点:
定义的匿名元组变量个数必须和定义好的元组变量值的个数相同
*/
var (_,B) = A
println("B=\(B)")
运行结果:
B=Swift
2:通过索引来访问 (与数组访问相似)
import Foundation
var A = (1,"Swift") //元组变量A 由 整形和字符串组成
println(A.0)// A.0 指的是访问 元组变量中的第一个元素 即 1
println(A.1)// A.1 指的是访问 元祖变量中的第二个元素 即 ”Swift"
运行结果
1
Swift
3:通过key来访问
注意点:
前提是
1: 元组变量中变量必须因为字典来访问
2:访问方式即: 元组变量.key
import Foundation
/*
通过key 来访问元组变量 注意点
1:对应的变量,必须为字典 key: value
2: 访问的时候,元组变量.key
*/
var A = (frist:"Hello",second:"swift")
println( A.frist )
println( A.second )