📜  Swift – 元组(1)

📅  最后修改于: 2023-12-03 15:20:25.004000             🧑  作者: Mango

Swift - 元组

在 Swift 中,元组是一种用于组合多个值的类型。每个值都可以有不同的类型。

创建元组
let coordinates = (4, 5)
let fullName = ("John", "Doe")

上面的代码创建了两个不同的元组。coordinates 元组包含了两个整数值,fullName 元组包含两个字符串值。

访问元组中的值

使用下标访问元组中的值,下标的索引从零开始。

let coordinates = (4, 5)
let x = coordinates.0
let y = coordinates.1

let fullName = ("John", "Doe")
let firstName = fullName.0
let lastName = fullName.1
命名元组

可以给元组中的每个值命名,从而让访问元组中的值更加清晰明了。

let coordinates = (x: 4, y: 5)
let x = coordinates.x
let y = coordinates.y

let fullName = (firstName: "John", lastName: "Doe")
let firstName = fullName.firstName
let lastName = fullName.lastName
元组作为函数返回值

可以使用元组作为函数的返回值,这对于函数需要返回多个值时非常方便。

func divide(_ dividend: Int, by divisor: Int) -> (quotient: Int, remainder: Int) {
    let quotient = dividend / divisor
    let remainder = dividend % divisor
    return (quotient, remainder)
}

let result = divide(17, by: 5)
print("Quotient: \(result.quotient), Remainder: \(result.remainder)") // Quotient: 3, Remainder: 2

可以使用命名元组来进一步提高函数的可读性。

func divide(_ dividend: Int, by divisor: Int) -> (quotient: Int, remainder: Int) {
    let quotient = dividend / divisor
    let remainder = dividend % divisor
    return (quotient: quotient, remainder: remainder)
}

let result = divide(17, by: 5)
print("Quotient: \(result.quotient), Remainder: \(result.remainder)") // Quotient: 3, Remainder: 2
元组作为函数参数

可以使用元组作为函数的参数。

func printCoordinates(_ coordinates: (x: Int, y: Int)) {
    print("x: \(coordinates.x), y: \(coordinates.y)")
}

let coordinates = (x: 4, y: 5)
printCoordinates(coordinates) // x: 4, y: 5
模式匹配访问元组中的值

可以使用元组进行模式匹配,从而访问元组中的值。下面的例子展示了如何将元组中的值分别绑定到不同的变量中。

let coordinates = (x: 4, y: 5)
switch coordinates {
case let (x, y):
    print("x: \(x), y: \(y)")
}
小结

元组是一种用于组合多个值的类型,可以用于函数的返回值和参数。命名元组可以提高代码的可读性,并且可以使用模式匹配访问元组中的值。