Swift 元组(Tuples)介绍

元组的定义

元组是Objective-C中没有的数据类型,与数组类似,都是表示一组数据的集合,但与数组不同,它的特点是:

  • 元组的长度任意
  • 元组中的数据可以是不同的数据类型
元组的定义很简单,用小括号括起来,然后以逗号隔开就可以了,如:
var userInfo = ("Bannings" ,true, 22)

读取元组中的数据

这样就创建了一个元组,而想要获取其中的值,则有多种方法,可以直接通过索引来取:
userInfo.0  //Bannings
userInfo.1  //true
userInfo.2  //22
但是这样并不方便,也不直观,那么可以用下面这种方式来访问:
let (name, isMale, age) = userInfo
name    //Bannings
isMale  //true
age     //22
把已知的userInfo赋给一个全是变量名组成的新的元组,那么就能以变量名去访问元组中的数据了。
还有另外一种方法也能以变量名的方式去访问元组中的数据,那就是在元组初始化的时候就给它一个变量名:
let userInfo = (name:"Bannings" ,isMale:true, age:22)
userInfo.name       //Bannings
userInfo.isMale     //true
userInfo.age        //22

跳过不关心的值

除此之外,元组还支持“跳过”某些你并不关心的值,只需要用下划线(_)去忽略它们就行了:
let (name,  _, age) = userInfo
name    //Bannings
//isMale  这个就不能访问了
age     //22
或者是在该元组初始化的时候不给它指定变量名:
let userInfo = (name:"Bannings" ,true, age:22)
userInfo.name       //Bannings
//userInfo.isMale     这个就不能访问了
userInfo.age        //22

可变元组和不可变元组

用var定义的元组就是可变元组,let定义的就是不可变元组。不管是可变还是不可变元组,元组在创建后就不能对其长度进行增加和删除之类的修改,只有可变元组能在创建之后修改元组中的数据:
var userInfo = (name:"Bannings" ,true, age:22)	//定义可变元组
userInfo.name = "newName"
userInfo.name   //newName

let userInfo1 = (name:"Bannings" ,true, age:22)	//定义不可变元组
userInfo1.name = "newName"  //报错,不可修改
需要注意的是,可变元组虽然可以修改数据,但却不能改变其数据的数据类型:
var userInfo = (name:"Bannings" ,true, age:22)
userInfo.name = 1   //报错

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值