Swift 元组(Tuples)介绍

简介: 元组的定义元组是Objective-C中没有的数据类型,与数组类似,都是表示一组数据的集合,但与数组不同,它的特点是:元组的长度任意元组中的数据可以是不同的数据类型元组的定义很简单,用小括号括起来,然后以逗号隔开就可以了,如:var ...

元组的定义

元组是Objective-C中没有的数据类型,与数组类似,都是表示一组数据的集合,但与数组不同,它的特点是:

  • 元组的长度任意
  • 元组中的数据可以是不同的数据类型
元组的定义很简单,用小括号括起来,然后以逗号隔开就可以了,如:
var userInfo = ("Bannings" ,true, 22)

读取元组中的数据

这样就创建了一个元组,而想要获取其中的值,则有多种方法,可以直接通过索引来取:
userInfo.0  //Bannings
userInfo.1  //true
userInfo.2  //22
但是这样并不方便,也不直观,那么可以用下面这种方式来访问:
let (name, isMale, age) = userInfo
name    //Bannings
isMale  //true
age     //22
把已知的userInfo赋给一个全是变量名组成的新的元组,那么就能以变量名去访问元组中的数据了。
还有另外一种方法也能以变量名的方式去访问元组中的数据,那就是在元组初始化的时候就给它一个变量名:
let userInfo = (name:"Bannings" ,isMale:true, age:22)
userInfo.name       //Bannings
userInfo.isMale     //true
userInfo.age        //22

跳过不关心的值

除此之外,元组还支持“跳过”某些你并不关心的值,只需要用下划线(_)去忽略它们就行了:
let (name,  _, age) = userInfo
name    //Bannings
//isMale  这个就不能访问了
age     //22
或者是在该元组初始化的时候不给它指定变量名:
let userInfo = (name:"Bannings" ,true, age:22)
userInfo.name       //Bannings
//userInfo.isMale     这个就不能访问了
userInfo.age        //22

可变元组和不可变元组

用var定义的元组就是可变元组,let定义的就是不可变元组。不管是可变还是不可变元组,元组在创建后就不能对其长度进行增加和删除之类的修改,只有可变元组能在创建之后修改元组中的数据:
var userInfo = (name:"Bannings" ,true, age:22)	//定义可变元组
userInfo.name = "newName"
userInfo.name   //newName

let userInfo1 = (name:"Bannings" ,true, age:22)	//定义不可变元组
userInfo1.name = "newName"  //报错,不可修改
需要注意的是,可变元组虽然可以修改数据,但却不能改变其数据的数据类型:
var userInfo = (name:"Bannings" ,true, age:22)
userInfo.name = 1   //报错

目录
相关文章
|
5月前
|
Swift 索引
Swift开发——元组
Swift中的元组是一种数据结构,用于组合不同类型的值。它们不是独立的数据类型,而是以有序序列形式存在,用圆括号括起,元素间用逗号分隔。元组可以有任意数量和类型的元素,可变性取决于其定义。常用于函数返回多个值。示例代码展示了元组的创建、访问、解包及赋值。元组可以通过标签来标识元素,支持嵌套和比较。在函数返回值和并行赋值场景中,元组特别有用。
55 0
Swift开发——元组
Swift5.1—元组
Swift5.1—元组
125 0
|
Python Swift
5.Swift学习之元组
元组的介绍 元组是Swift中特有(Python中也有),OC中并没有类型 定义与含义 一种数据结构 可以用于定义一组数据 组成元组的数据可以称为“元素” 元组的定义 元组的常见写法 // 使用元组描述一个人的信息 var one = (...
871 0
|
存储 安全 C语言
Swift基础语法(常量变量、数据类型、元组、可选、断言)
本文来自Swift中文开发组,感谢翻译者的分享。 本文将分几部分对Swift对ios的语法做讲解。本文为第一节,主要讲解基础语法。 常量和变量 常量和变量把一个名字(比如maximumNumberOfLoginAttempts或者welcomeMessage)和一个指定类型的值(比如数字10或者字符串"Hello")关联起来。常量的值一旦设定就不能改变,而变量的值可以随意更改。声明常量和变量
1624 0
|
iOS开发
iOS开发Swift篇(01) 变量&常量&元组
iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了。其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了。另外,对于14年部分iOS开发Swift篇专题的博文也不再做任何的校正和更新,特此说明。
868 0
|
iOS开发 Swift
iOS开发Swift篇—(五)元组类型
iOS开发Swift篇—(五)元组类型 一、元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let position = (x : 10.
731 0
|
索引 Swift 缓存
Swift语言指南(八)--语言基础之元组
原文:Swift语言指南(八)--语言基础之元组   元组 元组(Tuples)将多个值组合为一个复合值。元组内的值可以是任何类型,各个元素不需要为相同类型(各个元素之间类型独立,互不干扰--Joe.Huang)。
843 0
|
索引 缓存 存储
Swift语言指南(八)--语言基础之元组
元组 元组(Tuples)将多个值组合为一个复合值。元组内的值可以是任何类型,各个元素不需要为相同类型(各个元素之间类型独立,互不干扰--Joe.Huang)。 下例中,(404, "Not Found") 是一个描述HTTP状态码的元组。
1128 0