iOS Swift-元组tuples(The Swift Programming Language)


什么是元组?

元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是相同类型.

元组长什么样?

如下:

let nameAndAge = ("旭宝爱吃鱼",22);
print(nameAndAge);
打印出了什么呢?

如下:

("旭宝爱吃鱼", 22)

是不是对元组有了清晰的了解了呢...

那么下面继续深入了解一下.

元组的分解

比较抽象还是看看代码吧:

let (name,age) = nameAndAge;
print(name,age);

通过上面的方法我们可以获得相应的元组值.

获取首元组值与尾元组值

加入一个元组里有很多元组值,但是我们只想获得第一个或者最后一个该怎么做呢?

如下:

//获取元素首值
let (name,_) = nameAndAge;
//获取元素尾值
let (_,age) = nameAndAge;
print(name,age);

看过上面的代码不难发现,其实这并不是什么首元组值与尾元组值专有的方法,只不过是我们把不想获取的元组值用 _ 屏蔽了而已,通过这种方法我们也可以获取前两个,后两个,但是最终还是不方便,那么就有了下面的方法...

根据下标获取元组中的单个元组值

依旧使用面的元组,打印第一个元组.

//打印第一个元组值
print(nameAndAge.0)

元组命名?

枚举大家都不陌生,没有可以通过定义的名字来代表其他内容,那么元组是否也可以呢?

如下:

let nameAndAge = (name:"旭宝爱吃鱼",age:22);
print(nameAndAge.name,nameAndAge.age);

不难发现,name表示这姓名,age代表着年龄...

最后的注意

元组在临时组织值时是很有用的,但是在复杂的数据结构面前,确是很无力的,因此在不是临时使用的情况加,建议使用类或者结构体,不要使用元组..

最新文章

  1. Golang 逐行读写之scanner.Scan
  2. 2.5 C#的数据类型
  3. 记一次苦逼的SQL查询优化
  4. MYSQL的慢查询两个方法
  5. YTU 3019: 螺旋方阵
  6. Ajax.BeginForm 上传文件
  7. 在使用EF开发时候,遇到 using 语句中使用的类型必须可隐式转换为“System.IDisposable“ 这个问题。
  8. 自动备份并保存最近几天的SQL数据库作业脚本
  9. OOP——UML六种关系
  10. 信息化的“五观”与“N为”
  11. 包含到cocos2d-x里的tcpsocket源码
  12. javascript正則表達式 "\b"问题
  13. Vuex 2.0 深入简出
  14. Python Opencv安装环境搭建
  15. python写的压缩软件
  16. iconfont图标应用
  17. Gradle: Gradle Wrapper
  18. jar包读取外部文件
  19. Flask之before_request、after_request
  20. 解除IIS配置节锁定

热门文章

  1. 窥探Swift之类的继承与类的访问权限
  2. 出操队形(LIS)
  3. 如何利用脚本实现MySQL的快速部署以及一机多实例的部署
  4. C#: 向Word插入排版精良的Text Box
  5. Windows 下noinstall方式安装 mysql-5.7.5-m15-winx64
  6. cordova加载层、进度条、文件选择插件
  7. Windows下程序打包发布时的小技巧
  8. 从零开始,搭建博客系统MVC5+EF6搭建框架(4)上,前后台页面布局页面实现,介绍使用的UI框架以及JS组件
  9. C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理
  10. DevExtreme 学习应用[2]