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

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

    李洪强iOS开发Swift篇—05_元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let po ...

  2. iOS开发Swift篇(01) 变量&常量&元组

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

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

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

  4. iOS开发Swift篇—(三)字符串和数据类型

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

  5. iOS开发Swift篇—(七)函数(1)

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

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

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

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

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

  8. iOS开发Swift篇—(七)函数

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

  9. iOS开发Swift篇—(四)运算符

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

随机推荐

  1. 基于tp框架实现的递归城市查询

    控制器层: 接下来就是模型层: 如果说你的数据量庞大到致使apache或者nginx停止运行,有两点原因: 1.代码耦合性不高,代码有错误: 2.php.ini里面有一个memory_limit的这个 ...

  2. xcode 中 的工程模板

    基于视图的应用程序(view-based application) 应用程序如果仅使用一个视图,应该使用这个模板.一个简单的视图控制器会管理应用程序的主视图,而界面布置则使用一个Interface B ...

  3. 关于jstl标签引入的问题

    1.源码: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> < ...

  4. oracle分区提高篇

      一. 分区表理论知识 Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中.分区完全对应用透明. Or ...

  5. 图论$\cdot$最短路问题

    Dijkstra单源最短路径算法 Dijkstra可以计算出发点到每个点的最短路,及单源最短路径(SSSP).这一特点使得Dijkstra常常用来进行其他算法的预处理.用Dijkstra算法计算最短路 ...

  6. python 学习笔记十二 html基础(进阶篇)

    HTML 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分.网页文件本身 是一种文本文件,通过在文本文件中添加标记符, 可以告诉浏览 ...

  7. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  8. 【CSU1808】地铁

    ICPCCamp 有 n 个地铁站,用 1,2,-,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i 段地铁属于 ci 号线,位于站 ai,bi 之间,往返均需要花费 ti 分钟(即从 ...

  9. hdu4987A simple probability problem.(凸包)

    链接 多校的最后一场,当时没看懂题意,看题目还以为是概率问题就没深看. 官方题解 对于他说的第一种,考虑长为L的线段 概率为2L/(pi*d), 可以理解,下面的就不知道在说啥了.. 按我初始的想法想 ...

  10. 【PHP】基于ThinkPHP框架搭建OAuth2.0服务

    [PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403