位置:首頁 > 高級語言 > Swift教學 > Swift元組模式

Swift元組模式

元組模式(Tuple Pattern)

元組模式是逗號分隔的列表,包含一個或多個模式,並包含在一對圓括號中。元組模式匹配相應元組類型的值。

你可以使用類型注釋來限製一個元組模式來匹配某種元組類型。例如,在常量申明let (x, y): (Int, Int) = (1, 2)中的元組模式(x, y): (Int, Int),隻匹配兩個元素都是Int這種類型的元組。如果僅需要限製一個元組模式中的某幾個元素,隻需要直接對這幾個元素提供類型注釋即可。例如,在let (x: String, y)中的元組模式,隻要某個元組類型是包含兩個元素,且第一個元素類型是String,則被匹配。

當元組模式被用在for-in語句或者變量或常量申明時,它可以包含通配符模式,標識符模式或者其他包含這兩種模式的模式。例如,下麵這段代碼是不正確的,因為(x, 0)中的元素0是一個表達式模式:

let points = [(0, 0), (1, 0), (1, 1), (2, 0), (2, 1)]
// This code isn't valid.
for (x, 0) in points {
    /* ... */
}

對於隻包含一個元素的元組,括號是不起作用的。模式匹配那個單個元素的類型。例如,下麵是等效的:

let a = 2        // a: Int = 2
let (a) = 2      // a: Int = 2
let (a): Int = 2 // a: Int = 2


元組模式語法
元組模式 → ( 元組模式元素列表 可選 )
元組模式元素列表 → 元組模式元素 | 元組模式元素 , 元組模式元素列表
元組模式元素 → 模式