swift 4.x 元组类型

元组相当于关系数据库中的一条记录,它将多个任意数据类型的值合并为一个值。
元组类型的值的语法格式为:(元素1, 元素2, ..., 元素n)。

let turple = ("张三", 18, true)
// let turple: (String, Int, Bool) = ("张三", 18, true)

如果想要访问元组中的元素,有以下几种方式:

1.使用索引值访问(索引值从0开始)

turple.0
turple.1
turple.2

2.为元组中的元素指定名字,然后使用指定的名字访问。

let turple2 = (name: "张三", age: 18, isMarried: true)

turple2.name
turple2.age
turple2.isMarried


let turple3: (name: String, age: Int, isMarried: Bool) = ("张三", 18, true)

turple3.name
turple3.age
turple3.isMarried

(3)把元组中的元素分解成多个变量或常量,然后使用变量名或常量名访问。
此外,可以使用这种方式同时声明并初始化多个变量或常量。

let (name, age, isMarried) = ("张三", 18, true)
name
age
isMarried

如果只需要访问元组中的部分元素,可以使用下划线_代替那些不需要被访问的元素的名字或其对应的变量或常量。

let turple4 = (name: "张三", _: 18, isMarried: true)

turple4.name
turple4.isMarried


let turple5: (name: String, _: Int, isMarried: Bool) = ("张三", 18, true)

turple5.name
turple5.isMarried


let (name2, _, isMarried2) = ("张三", 18, true)

name2
isMarried2

元组只要用于多个相关值的临时组合,比如用作函数的返回值。
如果需要持久化地存储复杂的数据,不适合使用元组,可以考虑使用类或结构体。

func readLineFromFile() -> (isEOF: Bool, readLine: String) {
    // 从文件中读一行
    return (false, "This is the third line")
}

/*
 可以使用元组方便地交换两个变量的值。
 */
var str1 = "Hello"
var str2 = "Swift"

(str1, str2) = (str2, str1)

str1
str2

你可能感兴趣的:(swift 4.x 元组类型)