李洪强iOS开发Swift篇—05_元组类型
李洪强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_元组类型的更多相关文章
- 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明
李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...
- 李洪强iOS开发Swift篇---11_变量&常量&元组
李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...
- 李洪强iOS开发Swift篇—10_方法
李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...
- 李洪强iOS开发Swift篇—09_属性
李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要 ...
- 李洪强iOS开发Swift篇—08_函数(2)
李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...
- 李洪强iOS开发Swift篇—07_函数
李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...
- 李洪强iOS开发Swift篇—06_流程控制
李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注 ...
- 李洪强iOS开发Swift篇—04_运算符
李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...
- 李洪强iOS开发Swift篇—03_字符串和数据类型
李洪强iOS开发Swift篇—03_字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容 let website = "http:// ...
随机推荐
- java 从String中匹配数字,并提取数字
方法如下: private List<FieldList> GetTmpFieldsList(List<String> FieldsList,String tmptableNa ...
- eclipse 手动安装皮肤
关于自动使用eclipse 主题不成功的给出现在手动的安装方法和jar包 http://pan.baidu.com/s/1kVNEiYr http://pan.baidu.com/s/1cyTZrS ...
- 图灵API
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine( ...
- C# 操作数据库的几种方式(数据库使用SQL SERVER2008)
一:通过常规 T-SQL 语句 (只写删除操作,其他同理) string strConn = ConfigurationManager.ConnectionStrings["SiteConn ...
- SQLSERVER一些公用DLL的作用解释
如果你的SQLSERVER安装在C盘的话,下面的路径就是相应SQLSERVER版本的公用DLL的存放路径 SQL2005 C:\Program Files\Microsoft SQL Server\9 ...
- 将文件的编码格式转换为utf-8
背景:项目中有一些其他部门发过来的代码,编码格式有utf-8,也有GBK,而且是散乱在各个文件夹中的,处理起来十分的麻烦.我想把他们都转成统一的utf-8的格式.代码很简单,直接上代码好了. impo ...
- 启动 XPs 代理
Xps代理:扩展了 1 : 运行sp_configure检查代理XPs 的 值. EXEC SP_CONFIGURE 'agent xps'查看run_value 值是否为0,如果为0:需要更改此设置 ...
- 【转】【SQLServer】SQL事务用法begin tran,commit tran和rollback tran的用法
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务.begin tran表示开始事务, commit tran表示提交事 ...
- UIKit各类概述
1.UIAcceleration: 被叫做加速事件的一个UIAcceleration类的实例是用来代表即时的三维加速数据.为了接收重力加速度,要注册一个应用应用程序作为一个共享UIAccelerate ...
- java web-----servelet
1,定义servlet: 2,servlet生命周期: 3,HttpServlet常用方法: 4,servlet常用接口: 一,servlet定义: servlet是一个继承HttpServlet类的 ...