Swift教程07-基本数据类型(三)元组类型tuple

元组乃何方神圣?

元组,tuple原出自数据库中的一种概念,就是关系型数据库中的一条记录或者说一行;

一个元组可以包含多个字段,每个字段可以是不同的类型,就像我们从数据库取出一条学生的信息,包括这些

("张三",0001,"男","1391111****") 姓名,编号,性别,手机号

这样的类型一次就可以包含我们需要的多个信息.

如今Swift的 也引入了 这种类型,不得不说 这是Swift的强大之处之一.

元组的定义

(1)定义一个元组并且指定初始值


var student = ("张三",10010)


(2)定义一个元组类型,然后赋值


var student2 :(String,String,Int)

student2 = ("李四","女",10011)


( 3)我们也可以直接把一个元组的值赋值给另一个元组变量


student2 = student


(4)元组的嵌套,即元组中的元素也可以是元组


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  


(6)打印元组,及元组中的单个元素


插值符号 : / (元素值) 则可以将该 元素值表示在 字符串中

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)


(9)元组的其他用法:

作为函数的返回值,则函数可以返回多个值了

在Switch 语句中使用

原文地址:http://blog.csdn.net/yangbingbinga

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...