2019独角兽企业重金招聘Python工程师标准>>>

5.元组类型

在swift语言中,元组是多个值组成的复合值类型,便于管理和计算。元组类型由N个任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素”。

现在我们来定义一个用来表示时间的元组time。它包括年(year)、月(month)、日(day)。示例代码如下:

1 |  let time1 = (2016,5,4)

2 |  let time2 = (year:2016,month:5,day:4)

例子中,第1行代码定义了一个名文time1的元组。用来表示年月日。第2行代码定义了名为time2的元组。同样是表示年月日。但这两种写法是有区别的,第1行代码定义的time1元组,可读性不是很强,直接看到(2016,5,4)大家未必能猜测出是表示年月日。但是第2行代码定义的time2元组,通过(year:2016,month:5,day:4),我们可以很直观的知道2016是表示年,month是表示月,day是表示天。这样表示代码的可读性会更好,建议大家使用这种表示方法来定义一个元组。

如果想访问元组中的数据,我们可以使用下标方式来访问元组中的值,如0,1…以此类推,也可以通过元素名来访问元组的值。这里我们以元组time1和time2为例:

1 |  let time1 = (2016,5,4)

2 |  print("\(time1.0)年\(time1.1)月\(time1.2)日")

3 |  let time2 = (year:2016,month:5,day:4)

4 |  print("\(time2.0)年 \(time2.1)月, \(time2.2)日")

5 |  print("\(time2.year)年\(time2.month)月\(time2.day)日")

运行结果:

2016年5月4日

2016年5月4日

2016年5月4日

例子中,第1行代码我们定义了time1元组,第2行代码通过下标方式访问元组中的值,如time1.0表示访问元组的第一个值。第3行代码我们定义了time2元组,第4行代码同样是采用下标方式访问元组中的每一个元素。第5行代码通过元组的元素名访问元组的值,如time2.year访问元组的第一个值。

此外我们也可以把一个元组的内容分解成单独的常量和变量。我们仍以time2这个元组为例:

1 |  let (year,month,day) = time2

2 |  print("\(year)年\(month)月\(day)日")

运行结果同上例。

如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记。示例如下:

1 |  let (year,month,_) = time2

2 |  print("\(year)年\(month)月: ")

输出结果:2016年5月

转载于:https://my.oschina.net/u/2971691/blog/876431

Swift数据类型(五)相关推荐

  1. oracle sum 数据类型,五、Oracle内置函数

    一.数值型函数 1.绝对值,取余,正负判断函数 绝对值:ABS(n), 取余:MOD(n2,n1), 正负判断:SIGN(n), 2.指数函数 平方根:SQRT(n) 幂函数:POWER(n1,n2) ...

  2. Swift数据类型(一)

    2019独角兽企业重金招聘Python工程师标准>>> Swift中的数据类型包括:整型.浮点型.布尔型.字符串.元组.集合.枚举.结构体和类等. 这些类型照参数传递方式的不同可以分 ...

  3. Swift数据类型_整型和浮点型

    //swift中的整型和浮点型 /** * //类型推断整数是Int 浮点数是Double ,日常使用需要注意不能越界,存储时间毫秒数 英雄经验数等等之类内容容易越界 整型 大多数情况下,你不需要在代 ...

  4. Swift数据类型简介(二)

    整数 整数就是没有小数部分的数字,比如42和-23.整数可以是有符号(正.负.零)或者无符号(正.零). Swift 提供了8,16,32和64位的有符号和无符号整数类型.这些整数类型和 C 语言的命 ...

  5. swift学习五天 项目实战-知乎日报之网络交互NSURLConnection

    这里附上代码下载地址:     http://download.csdn.net/detail/guchengyunfeng/7989139 网络接口 格式: 协议1: http://news-at. ...

  6. Reids实战(7)数据类型五sorted sets

    sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列的mysql表, ...

  7. 每天一点Swift(五)控制器的生命周期和SizeClass

    字数358 阅读19 评论0 喜欢0 初始化init-->awakeFromNib--> prepare a segue --> SB去设置outlets --> viewDi ...

  8. swift 第五课 定义model类 和 导航栏隐藏返回标题

    1. 网络请求返回数据时候,把数据转化为model,但是有时候会返回空的字符串,所以加载了个长度的判断: class Model : NSObject{var details_url:String?v ...

  9. matlab数表数据类型转换,[转载]Matlab 数据类型  五、表

    函数 句法 说明 T = table(var1,...,varN) T = table(var1,...,varN,Name,Value) T = table 根据工作区变量创建表,不带任何变量则创建 ...

最新文章

  1. 如何用函数表示数(四)数的彻底消失
  2. 2016去哪儿编程题:乘坐公交
  3. mybatis的cache模块的并发问题处理
  4. javaSE各阶段练习题--流程控制2
  5. Mach 微内核的命名趣闻
  6. java队列 双队列_Java队列– Java队列
  7. 12、Linux一级子目录学习
  8. Struts 2.0 入门
  9. 在线画图工具 免费
  10. 支付宝支付对账单java_java下载支付宝对账单,实现与支付宝实收对账和日清日结对账...
  11. java线程锁有哪几种_Java锁有哪些种类,以及区别
  12. VisualEffectGraph概述
  13. IntelliJ IDEA常用插件介绍和配置
  14. 速腾聚创完成新一轮融资:华兴新经济基金领投 筹备上市
  15. 纹理分析及其在医学成像中的应用
  16. ArcBlock 分享 | 冒志鸿:我为区块链技术落地“狂”!
  17. Unity 打包APK 适配全面屏、刘海屏、水滴屏、挖孔屏
  18. python 中的 re.compile 函数(转)
  19. 修改ptrace_scope
  20. python PEP8问题及解决

热门文章

  1. sap中查询字段长度_SAP会计科目编码的层级说明
  2. python安装lzo_hadoop-lzo 安装配置
  3. lol自动刷人机辅助_LOL星籁歌姬新手怎么玩 星籁歌姬技能出装符文打法攻略 新英雄星籁歌姬辅助攻略...
  4. 数据结构专题(二):2.5在链表指定位置插入元素
  5. jupyter python版本_Jupyter使用了错误的python版本
  6. 计算机控制与网络,网络与通信技术在计算机控制的作用
  7. Linux管道的原子性,管道的原子性 linux写操作原子性
  8. js 线段上某点的坐标_测绘测量中常用的坐标系
  9. javascript window alert
  10. opencv fast角检测