iOS Swift-元组tuples(The Swift Programming Language)


什么是元组?

元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是相同类型.

元组长什么样?

如下:

let nameAndAge = ("旭宝爱吃鱼",22);
print(nameAndAge);
打印出了什么呢?

如下:

("旭宝爱吃鱼", 22)

是不是对元组有了清晰的了解了呢...

那么下面继续深入了解一下.

元组的分解

比较抽象还是看看代码吧:

let (name,age) = nameAndAge;
print(name,age);

通过上面的方法我们可以获得相应的元组值.

获取首元组值与尾元组值

加入一个元组里有很多元组值,但是我们只想获得第一个或者最后一个该怎么做呢?

如下:

//获取元素首值
let (name,_) = nameAndAge;
//获取元素尾值
let (_,age) = nameAndAge;
print(name,age);

看过上面的代码不难发现,其实这并不是什么首元组值与尾元组值专有的方法,只不过是我们把不想获取的元组值用 _ 屏蔽了而已,通过这种方法我们也可以获取前两个,后两个,但是最终还是不方便,那么就有了下面的方法...

根据下标获取元组中的单个元组值

依旧使用面的元组,打印第一个元组.

//打印第一个元组值
print(nameAndAge.0)

元组命名?

枚举大家都不陌生,没有可以通过定义的名字来代表其他内容,那么元组是否也可以呢?

如下:

let nameAndAge = (name:"旭宝爱吃鱼",age:22);
print(nameAndAge.name,nameAndAge.age);

不难发现,name表示这姓名,age代表着年龄...

最后的注意

元组在临时组织值时是很有用的,但是在复杂的数据结构面前,确是很无力的,因此在不是临时使用的情况加,建议使用类或者结构体,不要使用元组..

iOS Swift-元组tuples(The Swift Programming Language)的更多相关文章

  1. [Swift A] - Welcome to Swift

    Swift is a new object-oriented programming language for iOS and OS X development. Swift is modern, p ...

  2. iOS Swift-控制流(The Swift Programming Language)

    iOS Swift-控制流(The Swift Programming Language) for-in 在Swift中for循环我们可以省略传统oc笨拙的条件和循环变量的括号,但是语句体的大括号使我 ...

  3. iOS Swift-简单值(The Swift Programming Language)

    iOS Swift-简单值(The Swift Programming Language) 常量的声明:let 在不指定类型的情况下声明的类型和所初始化的类型相同. //没有指定类型,但是初始化的值为 ...

  4. [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01

    注:CocoaChina翻译小组已着手此书及相关资料的翻译,楼主也加入了,多人协作后的完整译本将很快让大家看到. 翻译群:291864979,想加入的同学请进此群哦.(本系列不再更新,但协作翻译的进度 ...

  5. The Swift Programming Language 中文翻译版(个人翻新随时跟新)

    The Swift Programming Language --lkvt 本人在2014年6月3日(北京时间)凌晨起来通过网络观看2014年WWDC 苹果公司的发布会有iOS8以及OS X 10.1 ...

  6. The Swift Programming Language 中国版

    iSwifting社会的 Swift 兴趣交流群:303868520 iOS 微信公众账号:iOSDevTip Swift 微信公众账号:SwiftDev iSwifting社区 假设你认为这个项目不 ...

  7. The Swift Programming Language 英文原版官方文档下载

    The Swift Programming Language 英文原版官方文档下载 今天Apple公司发布了新的编程语言Swift(雨燕)将逐步代替Objective-C语言,大家肯定想学习这个语言, ...

  8. Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别

    Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...

  9. 《The Swift Programming Language》的笔记-第24页

    The Swift Programming Language读书笔记学习笔记 第24页 本页主要内容有两个:打印输出和怎样在swift凝视代码 1 怎样打印变量和常量的值? 使用println函数,细 ...

随机推荐

  1. AngularJS之WebAPi上传(十)

    前言 前面一系列我们纯粹是讲AngularJS,在讲一门知识时我们应该结合之前所学综合起来来做一个小的例子,前面我们讲了在MVC中上传文件的例子,在本节我们讲讲如何利用AngularJS在WebAPi ...

  2. Android随笔之——获取EditText光标所在行行号

    由于项目需求,需要获取EditText光标当前所在行行号,可是翻遍Android文档.问遍度娘都没发现,于是在博客园中提问,碰见了好心人告诉了我答案,谨以以下代码献给有需要的人 private int ...

  3. Python学习第一弹——Python环境搭建

    一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有 ...

  4. ubuntu安装虚拟磁带库mhvtl

    项目需要用到磁带库,先装个虚拟磁带库mhvtl来模拟下. 1 下载源码 从网站https://sites.google.com/site/linuxvtl2/home#mhvtl-download下载 ...

  5. CentOS 7中如何安装mysql server

    以前一直用RHEL 6.3和6.4,系统盘里自带了mysql server,配置好yum源后,直接yum install mysql-server就可安装mysql服务器端了,最近用CentOS 7. ...

  6. Lua 学习笔记(七)编译、执行外部代码块

    Lua称为解释型语言的原因:Lua允许在运行源代码之前,先将源代码预编译为一种中间形式.区别解释型语言的主要特征是在于编译器是否是语言运行时库的一部分,即有能力执行动态生成的代码.因为Lua中有dof ...

  7. PHP变量和数据类型

    编程语言可以分为三大类 1. 静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的. 2. 动态语言类型,比如:PHP,python等各种脚本语 ...

  8. SSH框架入门知识总结

    chap01 领略清晰的MVC流程----Struts讲解技术资料.pdf   提取码:wwi5 chap02 体验控制反转的理念----Spring介绍技术文档.pdf    提取码:0mp3 ch ...

  9. ZOJ Problem Set - 1067 Color Me Less

    这道题目很简单,考察的就是结构体数组的应用,直接贴代码了 #include <stdio.h> #include <math.h> typedef struct color { ...

  10. 在Mac下创建ASP.NET Core Web API

    在Mac下创建ASP.NET Core Web API 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: 官方文档涉 ...