美文网首页swift
swift基本语法——元组类型

swift基本语法——元组类型

作者: 阿凡提说AI | 来源:发表于2017-02-24 09:59 被阅读2次

在实际开发中,经常需要存储一组相关的数据,如HTTP状态码(404)和提示信息(“Not Found”)等。把多个值组合成一个复合值,这个复合值就叫做元组类型(Tuples),也叫做元组。

元组的声明

1.元组类型的字面量
元组的字面量是使用逗号分隔并包含在括号里的0至多个数值。元组内的值可以是任意类型的,每个值得类型也可以不同。元组的一个重要用途是作为函数的返回值,可以传递多个值。
元素类型的字面量格式:

{元素值1,元素值2,元素值3,元素值4,……元素值n}

也可以采用键值对的方式,给全部或部分的元组元素取名

{元素名称1:元素值1,元素名称2:元素值2,元素名称3:元素值3……}

例如,声明一个元组用于描述学生信息,包含姓名、年龄和性别信息,有以下两种声明方式。

{"张三",18,"男"}
{name:"张三",age:18,gender:"男"}

第一种声明方式简单,代码量少,而第二种方式代码量多,但是可读性更好。

2.声明元组类型常量和变量
除了基础类型之外,元组类型也可以声明为常量和变量。常量和变量元组类型的声明格式:

let 常量名 = 元组类型的字面量
var 变量名 = 元组类型的字面量

具体示例:

let student1 = {"张三",18,"男"}
var student2 = {name:"张三",age:18,gender:"男"}

3.匿名数组
除了对整个元组声明常量和变量之外,还可以对元组内的每个元素进行分解,单独声明常量和变量。此时声明的元组是匿名的。示例代码:

let (name,age,gender) = {"张三",18,"男"}
print("姓名:\(name),年龄:\(age),性别:\(gender)")

上述代码将元组内的每一个元素单独声明了一个变量。
如果只需要一部分元素值,则可以将不需要的元素用下划线(_)来标记,如下所示。

let (name,_,_) = {"张三",18,"男"}
print("学生姓名:\(name)")

注意:
(1)分解声明时,左边的常量或变量个数必须与右边的元组元素个数相同,否则会报错。
(2)Void是空元组类型()的别名。

元组变量的访问

(1)通过元素的下标访问
元组内的元素是有序排列的,通过元素的下标就可以访问特定的元素,下标从0开始。

let student = {"张三",18,"男"}
print("姓名:\(student.0),年龄:\(student.1),性别:\(student.2))")

(2)通过元素名称访问
如果元组内的元素各自有名称,则可以使用元素名称来访问。

let student = (name:"张三",age:18,gender:"男")
print("姓名:\(student.name),年龄:\(student.age),性别:\(student.gender))")

(3)通过元素的常量或变量名访问

let (name,_,_) = {"张三",18,"男"}
print("学生姓名:\(name)")

元组的比较

Swift2.2之后,可以直接使用==操作符对元组进行比较。但要注意一下两点。
1.使用==操作符只能对最多含有6个元素的元组进行比较。这样设计考虑的是:元组的使用场景是针对含有少量元素的值,如果元素过多,建议使用类和结构体。
2.在对元组值进行比较时,会忽略元组的元素名称。如果以下两个数组:

let xiaoMing1 = (first:"xiaoMing",last:19)
let xiaoMing1 = (first:"xiaoMing",last:19)

如果使用xiaoMing1 == xiaoMing2进行比较,得到的结果是true。

相关文章

  • swift基本语法——元组类型

    在实际开发中,经常需要存储一组相关的数据,如HTTP状态码(404)和提示信息(“Not Found”)等。把多个...

  • swift语法基础<一>

    声明变量和常量 swift的基本语法 类型转换 元组 可选类型 断言 运算符 字符串 数组 字典 控制流 函数 类...

  • Swift基本语法之函数

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之数组和字典

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之元组和可选类型

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之闭包

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之类的使用

    Swift中类的使用 Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本...

  • Swift基本语法之字符串

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 字符串的介...

  • 5.元组(tuple)及可空类型(null_type)

    元组 kotlin_元组 swift_元组 可空类型 kotlin_可空类型 Swift可选/可空类型(Optio...

  • 4.Swift学习之数据类型

    Swift类型的介绍 Swift中的数据类型也有:整型/浮点型/Bool型/元组/枚举/结构体/对象类型等 基本类...

网友评论

    本文标题:swift基本语法——元组类型

    本文链接:https://www.haomeiwen.com/subject/iuwiwttx.html