元组乃何方神圣?
元组,tuple原出自数据库中的一种概念,就是关系型数据库中的一条记录或者说一行;
一个元组可以包含多个字段,每个字段可以是不同的类型,就像我们从数据库取出一条学生的信息,包括这些
("张三",0001,"男","1391111****") 姓名,编号,性别,手机号
这样的类型一次就可以包含我们需要的多个信息.
如今Swift的 也引入了 这种类型,不得不说 这是Swift的强大之处之一.
元组的定义
var student = ("张三",10010)
var student2 :(String,String,Int) student2 = ("李四","女",10011)
student2 = student
var stu = (student,"1100") var stu2 = (("王五",1001,"男"),student2,110)
嵌套元组类型的定义
var yunzu:(Int,(String,Int))
(5)访问元组的元素值,使用类似于数组的下标,可以支持多级下标,类似于2维,多维数组的下标
如 访问 stu 元组中的第二个元素,"1100" 就是 stu.1,[下标从 0开始]
访问 stu 元组中 第一个元素 即 student元组 中的第二个元素 ("男"),则需要使用二级 下标 stu.0.1
插值符号 : / (元素值) 则可以将该 元素值表示在 字符串中
如
var a = 1 println("a的值是 \(a)")
则 可以直接输出 a对应的值,类似于 C语言中的 %d,%s格式化的符号
如下,你可以在字符串中 来 插入 元素的值
println("student元组的是:\(student)") println("student元组的第一个元素是\(student.0)") println("stu元组的第一个元素(元组)中的第一个元素是\(stu.0.0)")
当然你也可以直接打印其值,不需要 使用引号
println(student) println(student.0) println(stu.0.0)
(7)元组的拆分
var student = ("张三","男",10010)
//把元组的元素拆分到各个变量中去 var (name,sex,id) = student //直接使用变量名来访问 println(name) println("编号是 :\(id)")
我们还可以在拆分的过程中去掉我们不想要的元素,使用 下划线 _ 代替,下划线在 循环,变量绑定,函数定义等地方还会遇到
var (name1,sex1,_) = student
那样,sex1之后的那个元素就被忽略了
(8)以键值对的形式使用元组,元组中的每一个变量可以有一个名字,这个名字类似于字典的key键
直接使用key来访问元组中的变量
var stu3 = (sName:"赵六",sSex:"男",sID:1111) //访问该元组中的元素 println(stu3.sName) println("元组中的编号是\(stu3.sID)")
定义一个键值对类型的元组类型
var stu4:(sNa:String,sSe:String,sI:Int)
//按顺序赋值,需要一一对应 stu4 = ("刘七",1213)
//不按顺序,按 key赋值,可忽略顺序 stu4 = (sSe:"女",sI:1112,sNa:"刘八") //使用Key访问元组中的元素 println(stu4.sNa)
在Switch 语句中使用
原文地址:http://blog.csdn.net/yangbingbinga
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。