Swift数据类型(五)
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数据类型(五)相关推荐
- oracle sum 数据类型,五、Oracle内置函数
一.数值型函数 1.绝对值,取余,正负判断函数 绝对值:ABS(n), 取余:MOD(n2,n1), 正负判断:SIGN(n), 2.指数函数 平方根:SQRT(n) 幂函数:POWER(n1,n2) ...
- Swift数据类型(一)
2019独角兽企业重金招聘Python工程师标准>>> Swift中的数据类型包括:整型.浮点型.布尔型.字符串.元组.集合.枚举.结构体和类等. 这些类型照参数传递方式的不同可以分 ...
- Swift数据类型_整型和浮点型
//swift中的整型和浮点型 /** * //类型推断整数是Int 浮点数是Double ,日常使用需要注意不能越界,存储时间毫秒数 英雄经验数等等之类内容容易越界 整型 大多数情况下,你不需要在代 ...
- Swift数据类型简介(二)
整数 整数就是没有小数部分的数字,比如42和-23.整数可以是有符号(正.负.零)或者无符号(正.零). Swift 提供了8,16,32和64位的有符号和无符号整数类型.这些整数类型和 C 语言的命 ...
- swift学习五天 项目实战-知乎日报之网络交互NSURLConnection
这里附上代码下载地址: http://download.csdn.net/detail/guchengyunfeng/7989139 网络接口 格式: 协议1: http://news-at. ...
- Reids实战(7)数据类型五sorted sets
sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列的mysql表, ...
- 每天一点Swift(五)控制器的生命周期和SizeClass
字数358 阅读19 评论0 喜欢0 初始化init-->awakeFromNib--> prepare a segue --> SB去设置outlets --> viewDi ...
- swift 第五课 定义model类 和 导航栏隐藏返回标题
1. 网络请求返回数据时候,把数据转化为model,但是有时候会返回空的字符串,所以加载了个长度的判断: class Model : NSObject{var details_url:String?v ...
- matlab数表数据类型转换,[转载]Matlab 数据类型 五、表
函数 句法 说明 T = table(var1,...,varN) T = table(var1,...,varN,Name,Value) T = table 根据工作区变量创建表,不带任何变量则创建 ...
最新文章
- 如何用函数表示数(四)数的彻底消失
- 2016去哪儿编程题:乘坐公交
- mybatis的cache模块的并发问题处理
- javaSE各阶段练习题--流程控制2
- Mach 微内核的命名趣闻
- java队列 双队列_Java队列– Java队列
- 12、Linux一级子目录学习
- Struts 2.0 入门
- 在线画图工具 免费
- 支付宝支付对账单java_java下载支付宝对账单,实现与支付宝实收对账和日清日结对账...
- java线程锁有哪几种_Java锁有哪些种类,以及区别
- VisualEffectGraph概述
- IntelliJ IDEA常用插件介绍和配置
- 速腾聚创完成新一轮融资:华兴新经济基金领投 筹备上市
- 纹理分析及其在医学成像中的应用
- ArcBlock 分享 | 冒志鸿:我为区块链技术落地“狂”!
- Unity 打包APK 适配全面屏、刘海屏、水滴屏、挖孔屏
- python 中的 re.compile 函数(转)
- 修改ptrace_scope
- python PEP8问题及解决
热门文章
- sap中查询字段长度_SAP会计科目编码的层级说明
- python安装lzo_hadoop-lzo 安装配置
- lol自动刷人机辅助_LOL星籁歌姬新手怎么玩 星籁歌姬技能出装符文打法攻略 新英雄星籁歌姬辅助攻略...
- 数据结构专题(二):2.5在链表指定位置插入元素
- jupyter python版本_Jupyter使用了错误的python版本
- 计算机控制与网络,网络与通信技术在计算机控制的作用
- Linux管道的原子性,管道的原子性 linux写操作原子性
- js 线段上某点的坐标_测绘测量中常用的坐标系
- javascript window alert
- opencv fast角检测