iOS开发Swift篇—(五)元组类型
iOS开发Swift篇—(五)元组类型
一、元组类型介绍
1.什么是元组类型
元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素”
示例:
let position = (x : 10.5, y : 20) // position有2个元素,x、y是元素的名称
let person = (name : "jack") // person只有name一个元素
let data = () // 空的元组
2.元素的访问
var position = (x : 10.5, y : 20)
(1)用元素名称
let value = position.x // 取值
position.y = 50 // 设值
(2)用元素位置
var value = position.0 // 相当于var value = postion.x
position.1 = 50 // 相当于postion.y = 50
代码示例:

注意:如果用let来定义一个元组,那么就是常量,就无法修改它的元素
let point = (x : 10, y : 20)
point.x = 30
第2行代码会报错
代码示例:

3.元组的输出
可以输出整个元组来查看所有元素的值
var point = (x : 10.5, y : 20)
point.x = 30
point.1 = 50
println(point)
输出结果是:(30.0, 50)
二、使用细节
(1)可以省略元素名称
let position = (10, 20)
let person = (20, "jack")
(2)可以明确指定元素的类型
var person: (Int, String) = (23, "rose")
person的第0个元素只能是Int类型、第1个元素只能是String类型
注意:在明确指定元素类型的情况下不能加上元素名称
因此,下面的语句是错误的
var person: (Int, String) = (age : 23, name : "rose")
(3)可以用多个变量接收元组数据
var (x , y) = (10, 20) // x是10,y是20
var point = (x, y) // point由2个元素组成,分别是10和20
(4)可以将元素分别赋值给多个变量
var point = (10, 20)
var (x , y) = point
// x是10,y是20
(5)可以使用下划线 _ 忽略某个元素的值,取出其他元素的值
var person = (20, "jack")
var (_, name) = person
// name的内容是“jack”,person中的元素20被忽略
iOS开发Swift篇—(五)元组类型的更多相关文章
- 李洪强iOS开发Swift篇—05_元组类型
李洪强iOS开发Swift篇—05_元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let po ...
- iOS开发Swift篇(01) 变量&常量&元组
iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对于14年 ...
- 李洪强iOS开发Swift篇---11_变量&常量&元组
李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...
- iOS开发Swift篇—(三)字符串和数据类型
iOS开发Swift篇—(三)字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容 let website = "http://www ...
- iOS开发Swift篇—(七)函数(1)
iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 func 函数名(形参列表) -> 返回值类型 { // 函数体... } (2)形参列表的格式 形参名1: 形参类型1 ...
- 李洪强iOS开发Swift篇—07_函数
李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...
- 李洪强iOS开发Swift篇—03_字符串和数据类型
李洪强iOS开发Swift篇—03_字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容 let website = "http:// ...
- iOS开发Swift篇—(七)函数
iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 形参名 ...
- iOS开发Swift篇—(四)运算符
iOS开发Swift篇—(四)运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符: ...
随机推荐
- java 静态函数锁对象说明
在内存加载.class文件后,会自动创建一个对象,用于保存class的信息,与我们程序员手工创建的对象不一样.
- C# 程序中的变量
变量命名规则: 不能是c#关键字 由字母,数字,下划线构成 第一个不能是数字 不要超过31个字符 不能是函数名,类名 c#是大小写敏感的. 本质上,数据类型就是他存储方式和他参与运算的抽象. c#的数 ...
- js asp.net获取时间戳
方法1: var timestamp = (new Date()).valueOf(); 结果:1280977330748 方法2: var timestamp=new Date().getTime( ...
- 关于jquery-validate验证表单
最近在做微信端的界面,一直写表单验证!一直在写表单验证!发现jquery-validate还真是好用哎,今天总结了一些: (1)required:true 必输字段(2)remote:"ch ...
- 编写高性能Web应用程序的10个技巧
这篇文章讨论了: ·一般ASP.NET性能的秘密 ·能提高ASP.NET表现的有用的技巧和窍门 ·在ASP.NET中使用数据库的建议 ·ASP.NET中的缓存和后台处理 使用ASP.NET编写一个We ...
- MVC(二)
所谓EF延迟加载,就是使用Lamabda或Linq查询数据时,EF并不会将数据直接查询出来,而是在用到的这个查询结果的时候才会加载到内存中.延迟加载也可以理解成 按需加载,顾名思义,就是按照所需的数据 ...
- Intel+Ardruino 101 翻转时点灯
/* =============================================== Example sketch for CurieIMU library for Intel(R ...
- 查看数据库磁盘使用多少G:
查看数据库磁盘使用多少G: / / ) G from dba_segments t where t.owner = 'TPSC' group by OWNER, t.segment_name, t.s ...
- [已解决] 日常开发中禁用Tomcat自动重启
最近做了一些Java Web开发,发现每次修改完java或者其他文件后tomcat都会重新加载一次项目,很耽误事,如何禁用Tomcat自动重启呢, 找到server.xml中的这一行,把其中的 rel ...
- C# 蓝牙编程
C#进行蓝牙编程 本节我们给大家用源码的形式给大家介绍如何用C#调用蓝牙.下面的源码是基于destop的C#调用蓝牙的程序,也就是使用普通版本的.NET Framework来调用编程,一般是有蓝牙的笔 ...