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. Android图片缓存之Glide进阶

    前言: 前面学习了Glide的简单使用(Android图片缓存之初识Glide),今天来学习一下Glide稍微复杂一点的使用. 图片缓存相关博客地址: Android图片缓存之Bitmap详解 And ...

  2. Razor Engine,实现代码生成器的又一件利器

    Razor Engine,之前仅仅是ASP.NET MVC的一种View引擎,目前已经完全成为一种可以独立使用的模版引擎,并且已经成为了CodePlex上一个开源的项目(http://razoreng ...

  3. (转)J2EE的13种核心技术

    一.JDBC(Java Database Connectivity)  JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDBC对数据 ...

  4. 安装nginx

    [yum安装nginx] yum clean all(这步不执行会出现no more mirrors to try错误) cd /etc/yum.repos.d/ vi nginx.repo 填写 [ ...

  5. ios UIWebView 在开发中加载文件

    UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...

  6. ios 静态库冲突的解决办法

    最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了.发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理 ...

  7. ZOJ Problem Set - 1216 Deck

    #include <stdio.h> int main() { ]; double t=2.0; table[]=0.5; ;i<;i++) { t+=; table[i]=tabl ...

  8. 如何用easyui+JAVA 实现动态拼凑datagrid表格

    先给大家看一看效果,最近一段时间都在研究这个东西. 如果我把日期间隔选宽呢?比如5月日到5月5日?下面给大家看看效果,不用担心哦 看到了吧,哈哈,这个日期都是动态生成的,下面就来跟大家分享一下这个的实 ...

  9. Josephus环问题

    约瑟夫环问题 问题描述: Josephus问题可以描述为如下的一个游戏:N个人编号从1到N,围坐成一个圆圈,从1号开始传递一个热土豆,经过M次传递后拿着土豆的人离开圈子,由坐在离开的人的后面的人拿起热 ...

  10. 用c#开发的一款webservice调用小工具,方便测试

    本人经常与webservice打交道,webservice调用工具有soap ui,使用起来不是那么方便,所以我花了很长时间特意写了个小工具来调用Webservice方便测试,还有待进一步完善.使用方 ...