李洪强iOS开发Swift篇—05_元组类型

一、元组类型介绍

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篇—05_元组类型的更多相关文章

  1. 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明

    李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...

  2. 李洪强iOS开发Swift篇---11_变量&常量&元组

    李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...

  3. 李洪强iOS开发Swift篇—10_方法

    李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...

  4. 李洪强iOS开发Swift篇—09_属性

    李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要 ...

  5. 李洪强iOS开发Swift篇—08_函数(2)

    李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...

  6. 李洪强iOS开发Swift篇—07_函数

    李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...

  7. 李洪强iOS开发Swift篇—06_流程控制

    李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注 ...

  8. 李洪强iOS开发Swift篇—04_运算符

    李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...

  9. 李洪强iOS开发Swift篇—03_字符串和数据类型

    李洪强iOS开发Swift篇—03_字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容  let website = "http:// ...

随机推荐

  1. RPC框架之Thrift

    目前流行的服务调用方式有很多种,例如基于SOAP消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等.其中所用到的数据传输方式包括 XML,JSON 等,然而 XML ...

  2. PostgreSQL 修改列报错:cannot be cast automatically to type integer

    如果你直接使用可视化工具修改一个varchar字段为int类型的时候,可能会报错, 这里就需要自己去写一个语句去修改了 调整执行语句:ALTER TABLE table_name ALTER COLU ...

  3. MAC itunes无法验证服务器s.mzstatic/itunes无法更新服务器解决方案

    打开host文件: 一.用终端打开: sudo vi /etc/hosts 输入完这行命令后需要输入电脑密码,然后确认,进入host文件 然后按i键进入编辑模式,在最后一行添加:23.214.233. ...

  4. Jquery VailDate初探

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Prism for WPF 第一讲 Event机制

    在本篇文章中主要讲解在Prism中模块与模块之间事件关联的机制.在这里牵涉到三个名词:事件定义,事件发布,事件订阅. 第一:事件定义 在公共类库中定义事件. ①没有参数事件 public class ...

  6. PHP学习笔记(八)

    关于PHP中的缓存函数ob_start() and ob_end_flush(). PHP输出机制:输出内容->缓存->输出到浏览器.ob_start(callback function) ...

  7. angularJS--神奇的$scope

    我们在使用angularJS时,$scope对于angularJS是非常重要的,它是angularJS的基础,但$scope到底是什么呢?下面进行一些介绍. 1.$scope是一个普通的js对象 2. ...

  8. MyEclipse 多项目对应配置多个Tomcat

    在MyEclipse的安装目录下,有D:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins 的插件路径. 里边很多插件的配置文件包.   找到 ...

  9. UVA 11732 strcmp() Anyone?(Trie的性质)

    strcmp() Anyone? strcmp() is a library function in C/C++ which compares two strings. It takes two st ...

  10. (hdu)5546 Ancient Go

    Problem Description Yu Zhou likes to play Go with Su Lu. From the historical research, we found that ...